IIS 대사와 상호 작용/편집 할 .NET 라이브러리 또는 API가 있습니까?
문제
... 또는 나는 내 자신의 "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에 액세스 할 수 있습니다.
IIS 7의 경우 .NET를 통해 IIS 관리를 활성화 할 수있는 .NET 래퍼가 있습니다. 자세한 내용은이 링크를 참조하십시오.
http://learn.iis.net/page.aspx/165/how-to-us-microsoftwebadministration/
이전 버전의 IIS (5 또는 6)의 경우 ADSI 및 WMI 인터페이스가 제공됩니다.
제휴하지 않습니다 StackOverflow