4

...または、独自の「XML チョッピング」機能をロールバックして立ち往生していますか。小さなタスクトレイ アプリを作成して、仮想ディレクトリをハード ディスク上のいくつかのフォルダーの 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/

アプリが機能するためには、同じルート ディレクトリに存在する必要があります。それで:

http://localhost/app/

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

4

3 に答える 3

3

わかりました...これはトレイ アプリではありませんが、コマンド ラインから実行できます。必要に応じて物理パスを変更するだけです。

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

于 2008-11-19T12:18:51.513 に答える
1

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

于 2008-11-23T11:07:01.987 に答える
1

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

DirectoryServices の MSDN ヘルプ

于 2008-11-19T10:19:41.380 に答える