如何在C#中将IIS网站设置为自动延迟启动?
实现IIS网站应用程序池的自动延迟启动
注意:IIS中的自动延迟启动是应用程序池的属性,而非网站本身的属性。要实现延迟启动,需要配置目标应用程序池的启动模式,而非网站设置。
修改你的C#代码如下:
using (ServerManager iisManager = new ServerManager()) { // 添加网站 Site website = iisManager.Sites.Add(name, location, port); website.Applications[0].ApplicationPoolName = appPoolName; website.ServerAutoStart = true; // 配置应用程序池的延迟启动 ApplicationPool appPool = iisManager.ApplicationPools[appPoolName]; // 如果应用池不存在,先创建(可选,根据你的业务场景调整) if (appPool == null) { appPool = iisManager.ApplicationPools.Add(appPoolName); } // 设置启动模式为延迟启动 appPool.StartMode = StartMode.DelayStarted; iisManager.CommitChanges(); }
关键说明:
StartMode.DelayStarted:该枚举值对应IIS应用程序池的"延迟启动"选项,会在第一次请求到达时才启动应用程序池,而非服务器启动时立即启动。- 确保你的项目已引用
Microsoft.Web.Administration程序集,该程序集通常位于C:\Windows\System32\inetsrv目录下。 - 运行代码的进程需要具有IIS管理权限(如管理员权限)。
内容的提问来源于stack exchange,提问作者Tracey
相关产品推荐
相关产品推荐

