WIN10 应用程序修改IIS程序池配置及Azure云服务修改程序池配置避免自动回收
以下内容源自需修改Azure云服务修改程序池的定期回收配置在本地测试及部署到Azure的记录。
一、Win10下修改指定网站应用程序池的配置
1、修改IIS程序池的代码如下:
引用命名空间 using Microsoft.Web.Administration;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //初始化IIS操作类 using (ServerManager serverManager = new ServerManager()) { var siteName = "website" ; //网站名称 var siteApplication = serverManager.Sites[siteName].Applications.First(); //网站对应的第一个应用程序 var appPoolName = siteApplication.ApplicationPoolName; //应用程序对应的应用程序池名称 var appPool = serverManager.ApplicationPools[appPoolName]; //应用程序池 appPool.Recycling.DisallowRotationOnConfigChange = true ; //发生配置更改时禁止回收 appPool.Recycling.PeriodicRestart.Time = TimeSpan.FromSeconds(0); //禁止固定时间间隔回收 appPool.Recycling.PeriodicRestart.Schedule.Add( new TimeSpan(4, 0, 0)); //增加特定时间凌晨4点回收 serverManager.CommitChanges(); //提交变更 Console.WriteLine( "修改成功" ); } |
ServerManager的API参考MSDN https://msdn.microsoft.com/zh-cn/library/microsoft.web.administration.servermanager_members(v=vs.90).aspx
对IIS配置的修改具体可参考 https://www.iis.net/configreference/system.applicationhost/applicationpools
2、权限配置
我本机会出现“文件名: redirection.config 错误: 由于权限不足而无法读取配置文件”的错误
需要对文件redirection.config添加用户computername\IIS_IUSRS的操作权限,具体位置为C:\Windows\System32\inetsrv\config。
二、Azure云服务修改当前WebRole应用程序池的配置
1、修改Cloud服务ServiceDefinition.csdef文件,使程序有修改IIS配置的权限
添加<Runtime executionContext="elevated"/>,位置如下:
2、Web角色启动时先修改IIS配置信息,在Web角色WebRole.cs的OnStart()方法里添加程序代码
如果添加的是现有网站为Web角色,需要添加WebRole.cs类,格式为:
OnStart方法里添加IIS操作代码,如下(注释可参考上面):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | using (ServerManager serverManager = new ServerManager()) { var siteName = RoleEnvironment.CurrentRoleInstance.Id + "_Web" ; var siteApplication = serverManager.Sites[siteName].Applications.First(); var appPoolName = siteApplication.ApplicationPoolName; var appPool = serverManager.ApplicationPools[appPoolName]; appPool.Recycling.DisallowRotationOnConfigChange = true ; appPool.Recycling.PeriodicRestart.Time = TimeSpan.FromSeconds(0); appPool.Recycling.PeriodicRestart.Schedule.Add( new TimeSpan(20, 0, 0)); serverManager.CommitChanges(); } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!