我正在创建一个小的单页asp.net web表单应用程序来重置IIS。此页面包含带有复选框列的网格视图,用于选择要执行IIS重置的计算机。然后根据选择,我将不得不重置所有选定的机器。
现在,Web应用程序托管在IIS上的计算机1上,从该计算机上我将运行Web应用程序并选择可能是机器2,机器3进行IIS重置。我已经为IIS重置编写了一些代码但它给了我拒绝访问的例外。详情如下。
try
{
using (ServiceController iisService = new ServiceController("W3SVC"))
{
TimeSpan timeout = TimeSpan.FromMilliseconds(10000);
iisService.MachineName = machineName;
if (iisService.Status == ServiceControllerStatus.Running)
{
iisService.Stop();
iisService.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
}
if (iisService.Status == ServiceControllerStatus.Stopped)
{
iisService.Start();
iisService.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
}
}
运行上面的代码后,我收到以下错误:
无法在计算机'计算机名称'
上打开w3svc服务
还有其他方法可以做到这一点,但我必须提供机器选择的选项,如网格或其他东西。