IIS 대사와 상호 작용/편집 할 .NET 라이브러리 또는 API가 있습니까?

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

  •  08-07-2019
  •  | 
  •  

문제

... 또는 나는 내 자신의 "XML Flopping"기능을 굴 렸습니까? 작은 작업 트레이 앱을 만들어 하드 디스크의 여러 폴더 중 하나로 바이러스 디렉토리를 빠르게 다시 포인 할 수 있습니다.

약간의 배경 :

DEV 기계에 코드 기반의 3 가지 SVN 브랜치가 있습니다.

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

우리의 앱은 내가 설치 한 타사 CMS와 통합됩니다.

http://localhost/cms/

작업하려면 앱이 동일한 루트 디렉토리에서 살아야합니다. 그래서:

http://localhost/app/

내가 작업중 인 지점에 따라, 나는 /app/ IIS 관리자로 이동하여 위에 나열된 3 가지 경로 중 하나에 대한 디렉토리. 그냥 나를 위해 퀵 앱을 갖는 것이 편리하다고 생각했습니다.

도움이 되었습니까?

해결책

OK ... 이것은 트레이 앱이 아니지만 명령 줄에서 실행할 수 있습니다. 필요에 따라 물리적 경로를 변경하십시오.

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

그런 다음 다음과 같이 실행합니다.

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

다른 팁

나는 이것을 내 자신을 사용하지 않았으므로 100% 당신의 문제를 해결할 것이라고 확신하지 않습니다. 그러나 .NET의 System.DirectoryServices를 살펴보십시오. IIS에 액세스 할 수 있습니다.

DirectoryServices에 대한 MSDN 도움말

IIS 7의 경우 .NET를 통해 IIS 관리를 활성화 할 수있는 .NET 래퍼가 있습니다. 자세한 내용은이 링크를 참조하십시오.

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

이전 버전의 IIS (5 또는 6)의 경우 ADSI 및 WMI 인터페이스가 제공됩니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top