Domanda

... o sono bloccato a girare il mio "quotazione XML" " funzioni. Vorrei creare una piccola app per Tasktray in modo da poter reindirizzare rapidamente una Directory Virual in una delle numerose cartelle sul mio disco fisso.

Bit di sfondo:

Ho 3 diversi rami svn della nostra base di codice sulla mia macchina di sviluppo.

Current Production Branch    ( C:\Projects\....\branches\Prod\ )
Next Release Canidate Branch ( C:\Projects\....\branches\RCX\ )
Trunk                        ( C:\Projects\....\trunk\ )

La nostra app si integra con un CMS di terze parti che ho installato su

http://localhost/cms/

Per funzionare, la nostra app deve vivere nella stessa directory principale. così:

http://localhost/app/

A seconda del ramo su cui sto lavorando, sto puntando nuovamente la directory / app / su uno dei 3 percorsi sopra elencati andando in Gestione IIS. Ho pensato che sarebbe stato utile avere un'app veloce per farlo per me.

È stato utile?

Soluzione

Ok ... questa non è un'app della barra delle applicazioni ma puoi eseguirla dalla riga di comando. Basta cambiare i percorsi fisici secondo necessità:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;

namespace Swapper
{
  class Program
  {
    static void Main(string[] args)
    {
      using (DirectoryEntry appRoot = 
               new DirectoryEntry("IIS://Localhost/W3SVC/1/root/app"))
      {
        switch (args[0].ToLower())
        {
          case "prod":
            appRoot.Properties["Path"].Value = @"e:\app\prod";
            appRoot.CommitChanges();
            break;

          case "rcx":
            appRoot.Properties["Path"].Value = @"e:\app\rcx";
            appRoot.CommitChanges();
            break;

          case "trunk":
            appRoot.Properties["Path"].Value = @"e:\app\trunk";
            appRoot.CommitChanges();
            break;

          default:
            Console.WriteLine("Don't know");
            break;
        }
      }
    }
  }
}

Quindi esegui come in:

C:\>swapper prod
C:\>swapper rcx

etc

Altri suggerimenti

Non l'ho usato da solo, quindi non sono sicuro al 100% che risolverà il tuo problema. Dai un'occhiata a System.DirectoryServices in .NET. Può accedere a IIS.

Guida di MSDN per DirectoryServices

Bene, per IIS 7, esiste un wrapper .NET per abilitare la gestione IIS tramite .NET. Vedi questo link per i dettagli,

http://learn.iis.net/ Page.aspx / 165 / how-to-use-microsoftwebadministration /

Per la versione precedente di IIS (5 o 6), sono fornite interfacce ADSI e WMI,

http://msdn.microsoft.com/en-us/library /ms525885.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top