Ron*_*lev 130 .net windows windows-services windows-server-2003
我需要在.NET中编写健壮的代码,以使Windows服务(服务器2003)能够重新启动.这样做的最佳途径是什么?是否有一些.NET API可以做到这一点?
The*_*edi 182
将服务设置为在失败后重新启动(双击控制面板中的服务并浏览这些选项卡 - 我忘记了它的名称).然后,只要您希望服务重新启动,只需调用Environment.Exit(1)
(或任何非零返回),操作系统将为您重新启动它.
Kha*_*man 22
Dim proc As New Process()
Dim psi As New ProcessStartInfo()
psi.CreateNoWindow = True
psi.FileName = "cmd.exe"
psi.Arguments = "/C net stop YOURSERVICENAMEHERE && net start YOURSERVICENAMEHERE"
psi.LoadUserProfile = False
psi.UseShellExecute = False
psi.WindowStyle = ProcessWindowStyle.Hidden
proc.StartInfo = psi
proc.Start()
Run Code Online (Sandbox Code Playgroud)
小智 12
您可以创建一个自我重启的DOS命令提示符进程:
Process process = new Process();
process.StartInfo.FileName = "cmd";
process.StartInfo.Arguments = "/c net stop \"servicename\" & net start \"servicename\"";
process.Start();
Run Code Online (Sandbox Code Playgroud)
Fil*_*lip 10
const string strCmdText = "/C net stop \"SERVICENAME\"&net start \"SERVICENAME\"";
Process.Start("CMD.exe", strCmdText);
Run Code Online (Sandbox Code Playgroud)
SERVICENAME
您的服务名称在哪里(为了考虑服务名称中的空格而包含的双引号,否则可以省略).
清洁,无需自动重启配置.
这取决于你希望它重新启动的原因.
如果您只是想找到一种方法让服务定期自行清理,那么您可以在服务中运行一个定期执行清除例程的计时器.
如果您正在寻找一种在失败时重新启动的方法 - 服务主机本身可以在设置时提供该功能.
那你为什么需要重启服务器呢?你想要实现什么目标?
归档时间: |
|
查看次数: |
109352 次 |
最近记录: |