同じサーバーの Web インターフェイス内から Web サイトとアプリケーション プールを停止、開始、再起動、リサイクルする方法を見つけようとしています。理想的には、これはシェル コマンドを実行しなくても .NET で実行できることです。
(他にも関連する質問が寄せられているようですが、必要でない限り、コマンド ラインからこれを実行したくありません)。
IIS6 と IIS7 の両方でこれを行う必要があります。
同じサーバーの Web インターフェイス内から Web サイトとアプリケーション プールを停止、開始、再起動、リサイクルする方法を見つけようとしています。理想的には、これはシェル コマンドを実行しなくても .NET で実行できることです。
(他にも関連する質問が寄せられているようですが、必要でない限り、コマンド ラインからこれを実行したくありません)。
IIS6 と IIS7 の両方でこれを行う必要があります。
Microsoft.Web.Administration.ServerManagerクラスを探しています。いくつかのスターター コードはhttp://learn.iis.net/page.aspx/226/microsoftwebadministration/にあります。
そのコードをさらに調べて、必要なことを行うことができます。appcmd全体がこのフレームワークの上に書かれていると思います。
このフレームワークは、IIS6 以前では機能しません。IIS7 が必要です。II6 の場合、Mehmet Aras が提案する WMI アプローチを使用できます。残念ながら、これら 2 つのライブラリが必要です。または、これらのライブラリを抽象化するコードが世の中にあるかもしれません。
WMI (Windows Management Instrumentation) を使用できます。msdnでWMI を使用して IIS を構成する を参照してください。WMI プロバイダーにアクセスして、C# コードから IIS を含むそれらと対話することもできます。System.Management 名前空間は、出発点です。
注意したいことの 1 つは、.NET の WMI コードが完全信頼を必要とするかどうかを確認することです。これは、既定では完全信頼で実行されない .NET Web アプリケーション内からこれを実行できるようにするためです。