4

同じサーバーの Web インターフェイス内から Web サイトとアプリケーション プールを停止、開始、再起動、リサイクルする方法を見つけようとしています。理想的には、これはシェル コマンドを実行しなくても .NET で実行できることです。

(他にも関連する質問が寄せられているようですが、必要でない限り、コマンド ラインからこれを実行したくありません)。

IIS6 と IIS7 の両方でこれを行う必要があります。

4

2 に答える 2

3

Microsoft.Web.Administration.ServerManagerクラスを探しています。いくつかのスターター コードはhttp://learn.iis.net/page.aspx/226/microsoftwebadministration/にあります。

そのコードをさらに調べて、必要なことを行うことができます。appcmd全体がこのフレームワークの上に書かれていると思います。

このフレームワークは、IIS6 以前では機能しません。IIS7 が必要です。II6 の場合、Mehmet Aras が提案する WMI アプローチを使用できます。残念ながら、これら 2 つのライブラリが必要です。または、これらのライブラリを抽象化するコードが世の中にあるかもしれません。

于 2009-07-18T20:49:33.590 に答える
2

WMI (Windows Management Instrumentation) を使用できます。msdnでWMI を使用して IIS を構成する を参照してください。WMI プロバイダーにアクセスして、C# コードから IIS を含むそれらと対話することもできます。System.Management 名前空間は、出発点です。

注意したいことの 1 つは、.NET の WMI コードが完全信頼を必要とするかどうかを確認することです。これは、既定では完全信頼で実行されない .NET Web アプリケーション内からこれを実行できるようにするためです。

于 2009-07-18T21:06:29.967 に答える