我有一个需要整天运行的应用程序,但有时会出现异常,然后应用程序崩溃。如果发生这种情况,连接到应用程序的设备将无法正常工作。
我需要做的是在崩溃时重新启动应用程序,但我不想再制作另一个程序。
这就是我认为我需要做的事情:
static void Main(string[] args)
{
try
{
if (!Environment.UserInteractive)
{
ServiceBase.Run(new WebDaemonService(HttpClass.StartListening));
}
else
{
HttpClass.StartListening();
}
}
catch(Exception ex)
{
Restart();
}
}
但是如何制作重启功能,我是否只是再次调用主类,或者我是否需要做其他事情。
try中的if else是检查应用程序是否需要作为Windows服务或应用程序启动。
有人可以向我解释如何重新启动功能吗?
答案 0 :(得分:0)
在当前域的ProcessExit事件上添加事件处理程序。
acl alloweddomains dstdomain "<path>/domains.txt"
从那里重启您的应用程序或服务。如果这是Windows服务,您可以将其设置为在Services.msc窗口崩溃时重新启动。
代码示例:
cache_peer next_server_ip parent 80 0 no-query originserver name=allowserver
cache_peer_access allowserver allow alloweddomains
cache_peer_access deny all