我正在建立一个“健康指数”网站,可以向系统管理员显示我们网站的健康状况。数据服务器。
我测量的一些指标是:
到目前为止,我已经为1-3编写了c#函数。但是,我无法弄清楚如何解决#4。
基本上,我想确定远程Web服务器是否具有Internet访问权限。我不想只是从我的电脑上ping服务器,因为这不会证明它是否可以访问互联网。
此网络服务器主要服务于“内联网”网站...所以,我无法通过浏览器在浏览器中提供服务来证明服务器具有互联网。
任何人都知道如何使用C#来确定此远程Web服务器是否可以访问Internet?
由于
答案 0 :(得分:0)
毫无疑问,你可以做所有这些事情,但有一些工具可以管理这类事情,还有很多。
查看SCOM。它允许您使用大量的开箱即用检查,添加自己的检查并将复杂的服务器网络汇总到易于使用的仪表板,警报和报告系统。
它不是免费的,但如果你有服务器,你可能会获得某种许可证。它可能比编写自己的东西便宜,而且几乎肯定会更加彻底,强大,并且会有比你自己写的更多的覆盖率。
这可能不是您要找的答案,但请查看。
答案 1 :(得分:0)
未经测试,但是像这样:
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);
答案 2 :(得分:-2)
看起来有人在这里有一些代码:
https://stackoverflow.com/a/2521961/1759812
处理检查连接以及处理环回和其他此类项目。这是针对服务器本身的,不确定您是否可以远程获取此信息。