2

サービスアプリケーションが実行されているアプリケーションプールをプログラムで判断する方法はありますか?私はこれまでこれについてあまり見つけていません。どんな助けでも大歓迎です!

4

3 に答える 3

1

IISは、アプリケーションをアプリプールに割り当てます。プログラムで、または構成を通じてアプリプールを変更する方法がわかりません。

編集: 私はこれが可能であるように見えることを取り戻します、この記事はあなたを助けるかもしれません: プログラムでIISをセットアップする

于 2012-10-02T21:44:59.653 に答える
1

これはIIS6のサンプルコードです。Sharepointまたは別のバージョンのIISで機能するかどうかはわかりません...

public string GetAppPoolName() {
    string AppPath = Context.Request.ServerVariables["APPL_MD_PATH"];

    AppPath = AppPath.Replace("/LM/", "IIS://localhost/");
    DirectoryEntry root = new DirectoryEntry(AppPath);
    if ((root == null)) {
        return " no object got";
    }
    string AppPoolId = (string)root.Properties["AppPoolId"].Value;
    return AppPoolId;
}

現在実行しているアプリケーションプールを検出する方法からコピーしましたか?(IIS6)

于 2012-10-02T21:47:00.187 に答える
0

ここで誰かがSharePoint固有の回答を提供してくれましたが、皆さんの入力に感謝します。次のコードは、アプリケーションプールを取得する方法です。

foreach (SPService service in SPFarm.Local.Services)
{
    if (service.Name.Equals("ServiceName"))
    {
        foreach (SPServiceApplication serviceApp in service.Applications)
        {
            SPIisWebServiceApplication webServiceApp = (SPIisWebServiceApplication) serviceApp;
            SPIisWebServiceApplicationPool appPool = webServiceApp.ApplicationPool;
        }
    }
}
于 2012-10-03T15:22:36.280 に答える