我需要在远程机器上停止 IIS,然后做一些工作,然后在工作完成后再次启动 IIS 服务。我正在尝试使用 C# 代码来做到这一点。我看到过一些关于通过代码在远程机器上启动 IIS 的类似问题。但是我无法从中获得任何可行的解决方案。一些关于如何执行启动和停止操作的清晰的 C# 代码会非常有帮助。
该Microsoft.Web.Administration
命名空间具有您所需要的管理IIS。查看:http : //msdn.microsoft.com/en-us/library/microsoft.web.administration%28VS.90%29.aspx。
但是,如果您只想停止和启动服务,您可以使用 Service.Controller
ServiceController service = new ServiceController(serviceName);
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
Run Code Online (Sandbox Code Playgroud)
该Service.Controller
级页面都应该有所有你所需要的信息。在http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx找到它
这是您可以用来启动服务的完整示例:
public static void StartService(string serviceName, int timeoutMilliseconds)
{
ServiceController service = new ServiceController(serviceName);
try
{
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
catch
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
查看上面的链接以获取更多文档。
您可以按如下方式连接到远程服务器:
ServiceController svc = new ServiceController("Service", "COMPUTERNAME");
Run Code Online (Sandbox Code Playgroud)
如果您在远程服务器上需要一组不同的权限,则需要做更多的工作。请参阅此问题,使用 ServiceController 和模拟启动远程 Windows 服务。
归档时间: |
|
查看次数: |
10715 次 |
最近记录: |