C#中的IIS7应用程序池

Vah*_*ron 4 c# iis iis-7

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

ServerManager manager = new ServerManager();
manager.ApplicationPools["DefaultAppPool"].ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);
Run Code Online (Sandbox Code Playgroud)

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

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

chr*_*.00 5

你需要调用CommitChanges()你的ServerManager你修改后的实例.

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