4

我有一个 Web 应用程序,它通过 IIS7 在安装的每台 PC 上本地托管。在 Web 应用程序中,管理员可以更改设置。其中一项设置包括 App Pool IdleTimout。据我所知,C# 代码正在使用 Microsoft.Web.Administration.dll 参考:(一个简短的示例)

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

在调试代码时,IdleTimeout 显示的值是 {00:05:00},根据上面的代码应该是正确的。

但是,如果我在更新和保存此设置后进入 IIS,并转到 DefaultAppPool 的高级设置部分,我看到超时仍设置为默认值 20。当我设置时,这是否应该在 IIS 中更改像我上面的变量?今天下午我一直在谷歌搜索,但我似乎无法找到答案。希望我只是做错了什么。非常感谢任何见解!我的目标是能够在 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 回答