利用下列代码可实现IIS应用池的远程回收
var serverManager = ServerManager.OpenRemote(ip);var appPools = serverManager.applicationPools;foreach (var ap in appPools){ ap.Recycle();}
注意点:
1.需要添加引用C:/Windows/System32/inetsrv/Microsoft.Web.Administration.dll ,然后using Microsoft.Web.Administration;
2.远程账号需要有管理员权限;
3.远程主机的账号密码添加在服务器的凭据管理器中 (控制面板->凭据管理器) ,能成功使用mstsc 登录即可;
4.远程主机需要关闭UAC!! 因为这个问题卡了好几个礼拜才无意发现。
ps:可以利用ap.Recycle()的返回值判断回收是否成功。
新闻热点
疑难解答