通过C#重启iis网站服务

nuget下载 Microsoft.Web.Administration
webServiceName为iis服务名称

public static void IISRecycle(string webServiceName)
{
	try
	{
		using (var serverManager = new ServerManager())
		{
			var appPool = serverManager.ApplicationPools[webServiceName];
			if (appPool != null)
			{
				appPool.Recycle();
				LogHelp.Info("服务重启了");
			}
		}
	}
	catch (Exception ex)
	{
		LogHelp.Error($"服务重启失败:"+ex.Message);
	}
}

如果从方法所属的服务是部署在iis上,需要在相应的应用程序池设置-进程模型-标识-LocalSystem,不然的话权限不够无法重启服务
image

posted @ 2024-10-29 09:30  柴油飞机  阅读(6)  评论(0编辑  收藏  举报