Gibt es eine .NET-Bibliothek oder API zur Interaktion mit / Bearbeiten der IIS-Metabasis?

StackOverflow https://stackoverflow.com/questions/301438

  •  08-07-2019
  •  | 
  •  

Frage

... oder bin ich meine eigene „XML hacken“ Funktionen stecken rollen. Ich möchte eine kleine Tasktray App erstellen, so kann ich schnell ein Virual Directory zu einem von mehreren Ordnern auf der Festplatte-Punkt wieder.

Bit of Hintergrund:

Ich habe 3 verschiedene svn Zweige unserer Code-Basis auf meiner Dev-Maschine.

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

Unser App integriert mit einem 3rd-Party-CMS, die ich bei

installiert habe
http://localhost/cms/

Um unsere App arbeiten muss auf dem gleichen Stammverzeichnis leben. so:

http://localhost/app/

Je nach Filiale arbeite ich an, ich bin wieder zeigt das /app/ Verzeichnis auf einem der drei Pfade oben aufgeführten in IIS-Manager gehen. Ich dachte, es nützlich sein, würde eine schnelle App, um es für mich zu tun.

War es hilfreich?

Lösung

Ok ... das ist kein Fach App aber Sie können es von der Kommandozeile ausgeführt werden. ändern Sie einfach die physischen Pfade wie erforderlich:

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;
        }
      }
    }
  }
}

Dann läuft wie in:

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

etc

Andere Tipps

Ich habe nicht dieses mein Selbst verwendet, also bin ich nicht 100% sicher, dass es Ihr Problem lösen. Aber nehmen Sie einen Blick auf System.DirectoryServices in .NET. Es kann IIS zugreifen zu können.

MSDN-Hilfe für Directory

Nun, für IIS 7 gibt es eine .NET-Wrapper IIS-Management über .NET zu ermöglichen. Siehe diesen Link für weitere Details,

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

Für frühere Version von IIS (5 oder 6), ADSI und WMI-Schnittstellen vorhanden sind,

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top