4

インストールされている各 PC で IIS7 を介してローカルにホストされている Web アプリケーションがあります。Web アプリケーション内で、管理者は設定を変更できます。これらの設定の 1 つに、App Pool IdleTimout が含まれます。Microsoft.Web.Administration.dll リファレンスを使用してわかる限り、C# コードは機能しています: (短い例)

ServerManager manager = new ServerManager();
manager.ApplicationPools["DefaultAppPool"].ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);

コードのデバッグ中、IdleTimeout は {00:05:00} の値を示していますが、これは上記のコードに従って正しいはずです。

ただし、この設定を更新して保存した後に IIS に移動し、DefaultAppPool の [詳細設定] セクションに移動すると、タイムアウトがまだデフォルトの 20 に設定されていることがわかります。私が上にいるような変数?今日の午後、私はたくさんのグーグルをしてきましたが、これに対する答えを見つけることができないようです. うまくいけば、私は何か間違ったことをしているだけです。どんな洞察も大歓迎です!私の目標は、C# コード内で DefaultAppPool の IdleTimeout を設定できるようにすることです。

4

1 に答える 1

5

CommitChanges()変更を行った後、ServerManagerインスタンスを呼び出す必要があります。

ServerManager manager = new ServerManager();
manager.ApplicationPools["DefaultAppPool"].ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);
manager.CommitChanges();
于 2013-09-05T20:08:21.300 に答える