IISメタベースと対話/編集する.NETライブラリまたはAPIはありますか?

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

  •  08-07-2019
  •  | 
  •  

質問

...または、「XMLチョッピング」という独自のローリングを行ってしまいました。関数。小さなタスクトレイアプリを作成して、Virual Directoryをハードディスク上のいくつかのフォルダーの1つにすばやくポイントできるようにします。

ビットの背景:

開発マシンにコードベースの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/

動作するためには、アプリは同じルートディレクトリに存在する必要があります。 so:

http://localhost/app/

作業しているブランチに応じて、IISマネージャーに移動して、上記の3つのパスのいずれかに / app / ディレクトリを再ポイントします。私のためにクイックアプリを用意しておくと便利だと思いました。

役に立ちましたか?

解決

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

etc

他のヒント

これを自分で使用したことがないので、問題が解決するかどうかは100%確信できません。しかし、.NETのSystem.DirectoryServicesを見てください。 IISにアクセスできます。

DirectoryServicesのMSDNヘルプ

まあ、IIS 7には、.NETを介したIIS管理を可能にする.NETラッパーがあります。詳細については、このリンクを参照してください

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

IISの以前のバージョン(5または6)には、ADSIおよびWMIインターフェイスが提供されています。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top