我有一个 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。

最佳答案

进行更改后,您需要在 CommitChanges() 实例上调用 ServerManager

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

关于c# - C# 中的 IIS7 应用程序池,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18644722/

10-13 00:23