我有一个在安装的每台PC上通过IIS7本地托管的Web应用程序。在Web应用程序中,管理员可以更改设置。其中一个设置包括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.这应该在IIS中更改我像上面那样设置变量?今天下午我一直在做很多谷歌搜索,但我似乎无法找到答案。希望我只是做错了什么。非常感谢任何见解!我的目标是能够在C#代码中设置DefaultAppPool的IdleTimeout。
答案 0 :(得分:5)
进行更改后,您需要在CommitChanges()
实例上致电ServerManager
。
ServerManager manager = new ServerManager();
manager.ApplicationPools["DefaultAppPool"].ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);
manager.CommitChanges();