C# 中的 IIS7 应用程序池

本文关键字:应用程序 程序池 应用 IIS7 中的 | 更新日期: 2023-09-27 18:30:24

我有一个 Web 应用程序,该应用程序通过 IIS7 在本地托管在安装的每台 PC 上。 在 Web 应用程序中,管理员可以更改设置。 其中一个设置包括应用程序池空闲时间。 据我所知,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。

C# 中的 IIS7 应用程序池

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

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