以编程方式更改应用程序的AppPool
我需要更改某个网站下所有/所选应用程序的应用程序池。 我在我的IIS上获得了所有网站和应用程序池,但我无法更改它们。 有任何想法吗?
这就是我到目前为止所做的…它对我来说很奇怪,因为只有字符串改变,而不是对象。
private void ChangeAppPool() { Microsoft.Web.Administration.Site site = (Microsoft.Web.Administration.Site)this.websiteList.SelectedItem; Microsoft.Web.Administration.ApplicationPool appPool = (Microsoft.Web.Administration.ApplicationPool)this.appPoolCombo.SelectedItem; site.Stop(); site.ApplicationDefaults.ApplicationPoolName = appPool.Name; foreach (var item in site.Applications) { item.ApplicationPoolName = appPool.Name; } site.Start(); appPool.Recycle(); }
谢谢
我修改了您给定的代码以使用ServerManager类,因为您的代码对我不起作用。 (这是什么this.websiteList.SelectedItem
?将字符串转换为Site?)
上述就是C#学习教程:以编程方式更改应用程序的AppPool分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
ServerManager serverManager = new ServerManager(); Site site = serverManager.Sites[0]; // get site by Index or by siteName ApplicationPool appPool = serverManager.ApplicationPools[1]; // get appPool by Index or by appPoolName site.Stop(); site.ApplicationDefaults.ApplicationPoolName = appPool.Name; foreach (var item in site.Applications) { item.ApplicationPoolName = appPool.Name; } serverManager.CommitChanges(); // this one is crucial!!! see MSDN: // Updates made to configuration objects must be explicitly written to the configuration // system by using the CommitChanges method!! site.Start(); appPool.Recycle();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1012764.html