C# 现场监控实用程序可以';即使网站已启动并运行,也无法连接到网站
我创建了一个站点监控实用程序,它向站点发送HTTP和PING请求,检查数据库以确保它已启动并准备好接受请求,并检查网站需要的服务 问题是,该实用程序将一次随机断开与服务器的连接数小时,而没有任何原因 我已经在服务器上运行了多次WireShark,以查看是否存在与网络相关的内容,但我一直没有发现任何内容。WireShark说没有数据包或任何东西被丢弃 还有谁遇到过这样的事情吗 我无法发布该服务的代码,因为其中包含敏感信息。我不认为这是我的代码,但我很难弄清楚它可能是什么 这是我的密码:C# 现场监控实用程序可以';即使网站已启动并运行,也无法连接到网站,c#,c#-4.0,C#,C# 4.0,我创建了一个站点监控实用程序,它向站点发送HTTP和PING请求,检查数据库以确保它已启动并准备好接受请求,并检查网站需要的服务 问题是,该实用程序将一次随机断开与服务器的连接数小时,而没有任何原因 我已经在服务器上运行了多次WireShark,以查看是否存在与网络相关的内容,但我一直没有发现任何内容。WireShark说没有数据包或任何东西被丢弃 还有谁遇到过这样的事情吗 我无法发布该服务的代码,因为其中包含敏感信息。我不认为这是我的代码,但我很难弄清楚它可能是什么 这是我的密码: priva
private void HttpRequest()
{
foreach(URL中的字符串urlToTest)
{
布尔成功=假;
HttpWebResponse URLRes=null;
HttpWebRequestUrlReq=null;
布尔时间=假;
StringBuilder消息=null;
HttpStatusCode=HttpStatusCode.Unused;
string codescript=string.Empty;
对于(int i=0;i );
if(例如InnerException!=null)
Message.Append(“内部异常:+ex.InnerException+”
);
如果(例如,源代码!=null)
Message.Append(“来源:+exsource+”
);
如果(例如StackTrace!=null)
Message.Append(“堆栈跟踪”+ex.StackTrace+“
”);
}
}
}
最后
{
if(URLReq!=null)
{
URLReq.Abort();
URLReq=null;
}
如果(URLRes!=null)
{
url res.Close();
URLRes=null;
}
GC.Collect();
}
}
如果(成功)
{
WriteTownEventLog(“HTTP请求返回成功”,“HTTP请求”,true);
}
其他的
{
如果(!Timed&&code!=HttpStatusCode.Unused&&!string.IsNullOrEmpty(codescript)&&Message==null)
EmailError(“站点“+urlToTest+””返回的HttpRequest状态为“+code.ToString()+”\n说明:\n“+codeDescript”);
如果(!Timed&&code!=HttpStatusCode.Unused&&string.IsNullOrEmpty(codeDescript)&&Message!=null),则为else
EmailError(“站点“+urlToTest+”出现异常错误。返回的HttpRequest状态为“+code.ToString()+”\n说明:\n“+codeDescript+Message.ToString());
如果(!Timed&&code==HttpStatusCode.Unused&&string.IsNullOrEmpty(codescript)&&Message==null),则为else
EmailError(“Site'+urlToTest+”'HttpRequest返回时出错。无需显示信息”);
如果(!Timed&&code==HttpStatusCode.Unused&&string.IsNullOrEmpty(codescript)&&Message!=null),则为else
EmailError(“Site'+urlToTest+”'HTTPRequest出错,出现异常。
“+Message.ToString());
else if(定时)
EmailError(“站点“”+urlToTest+“'HTTPRequest超时”);
WriteTownEventLog(“HTTP请求失败,已发送电子邮件”,“HTTP请求”,true);
}
}
WriteTownEventLog(“,“Http请求”,false);
}
私有void PingUrl()
{
foreach(URL中的字符串urlToTest)
{
布尔成功=假;
PingReply=null;
StringBuilder消息=null;
IPStatus状态=IPStatus.未知;
对于(int i=0;i