找出服务器是否正在运行,asp.net

时间:2012-06-30 17:12:55

标签: c# asp.net web

我有一台服务器和一个运行100%罚款的网站。

问题是,我希望我的网站显示在服务器的默认页面“状态”上。我正在考虑用这段代码ping服务器:

Uri url = new Uri("http://www.abhigrgrgrgrgsheksur.com");
string pingurl = string.Format("{0}", url.Host);
string host = pingurl;
bool result = false;
Ping p = new Ping();
try
{
    PingReply reply = p.Send(host, 3000);
    if (reply.Status == IPStatus.Success)
        return true;
}
catch { }
return result;

代码来自我在网上找到的网站,而不是我的网站。

问题是,如果你把这些代码放在网站的默认页面上,当人们做“反向”它总是ping服务器时,我的问题是,它可以丢弃服务器吗?还是让它停止工作?或者类似的东西?服务器不是网站。这是一个正在运行的过程(MineCraft Server)。

2 个答案:

答案 0 :(得分:1)

如果我理解你在每次刷新页面时都会担心它会ping并且会进行多次ping调用

因此,http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx中Ping类的备注段落中的陈述可能有助于您的关注

您不能使用相同的Ping类实例来生成多个同时发出的ICMP Echo请求。 在SendAsync调用正在进行时调用Send或在所有先前调用完成之前多次调用SendAsync会导致InvalidOperationException。

答案 1 :(得分:0)

它会向服务器发送多个ping请求。这不应该导致服务器崩溃。虽然您可能需要与网络管理员核实,例如,某些防火墙是否会丢弃多个PING请求(例如,您的Web服务器的IP)。