我正在运行一个.exe文件中的服务,当我测试这个系统时,我删除了互联网连接,插入一段时间后,互联网正在连接,但我的进程没有连接。在命令提示符中显示连接问题。
如何在获得互联网连接后自动重新启动进程?
建议我。
不要在再次连接互联网后重新启动进程,只需让进程按计划运行,一旦需要运行,请检查互联网连接。如果有互联网连接,那就做你的事情,否则优雅地结束当前的跑步。
在伪代码中:
public void StartOfMethodThatRequiresInternet(){
if(!requiredAddress.IsAvailable()){
return;
}
DoTheRestOfTheProgram();
}
通过服务或Windows计划程序,安排此功能按需要的频率运行。它将自动启动并检查您需要访问的网站是否可用。如果不可用,它将自动返回。
要检查网站是否可用,请为标题发出HttpWebRequest,并检查响应代码是否正常。检查url是否可访问-优化类的帮助解释了如何做到这一点:
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Timeout = 15000;
request.Method = "HEAD"; // As per Lasse's comment
try
{
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch (WebException)
{
return false;
}