[英]Using C# to check for an internet connection on a remote Server
我正在制作一个“健康指数”网站,该网站可以向系统管理员显示我们的Web和数据服务器的运行状况。
我正在衡量的一些指标是:
到目前为止,我已经为1-3编写了c#函数。 但是,我不知道如何解决#4。
基本上,我想确定远程Web服务器是否可以访问Internet。 我不想仅通过计算机对服务器执行ping操作,因为这无法证明服务器是否可以访问互联网。
该Web服务器主要为“ Intranet”网站提供服务...因此,仅通过浏览器即可访问其服务的网站,我无法证明该服务器具有Internet。
有谁知道我如何使用C#确定此远程Web服务器是否可以访问Internet?
谢谢
毫无疑问,您可以做所有这些事情,但是有一些工具可以管理此类事情。
签出SCOM。 它允许您使用大量现成的检查,添加自己的检查以及将复杂的服务器网络汇总到易于使用的仪表板,警报和报告系统中。
它不是免费的,但是如果您有服务器,则可能拥有某种许可证。 它可能比编写自己的东西便宜,而且几乎可以肯定更彻底,更强大,而且覆盖范围比您自己能够编写的要多。
它可能不是您要找的答案,但请检查一下。
未经测试,但是像这样:
var p = new Process
{
StartInfo =
{
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
RedirectStandardInput = true,
FileName = @"C:\path\to\PSTools\PsExec.exe",
Arguments = @"\\server cmd.exe ping www.google.com"
}
};
p.Start();
string output = p.StandardOutput.ReadToEnd();
string errormessage = p.StandardError.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
Console.WriteLine(errormessage);
看起来有人在这里有一些代码:
https://stackoverflow.com/a/2521961/1759812
处理检查连接以及处理回送和其他此类项目。 这是针对服务器本身的,不确定是否可以远程获取此信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.