我有一个 winform 应用程序,它需要知道 SQL 服务器何时可用,以便允许合并同步功能。我已经尝试了以下的变体,它们是一次性的,但我想想出一些更有活力的东西。
下面的函数(谢谢 Alex_L)正在检查运行 SQL 的 1433 端口,并且运行良好。我想要完成的是一种实时监控的方法。我必须创建 Windows 服务吗?网络连接更改等任何其他网络事件怎么办?
这个有时连接的应用程序的用法很简单。如果它们在我们的网络上,则合并复制部分可用。如果他们不在我们的网络上,那么它就不是。 SQL Server 永远不应该在我们的网络上可用,它应该在打开时始终可用。
话虽如此,我愿意接受涉及检测我们当前网络以代替 SQL 实例的解决方案。
private static bool IsSqlAvailable()
{
TcpClient tcpc = new TcpClient();
try
{
tcpc.Connect("10.250.50.30", 1433);
return true;
}
catch
{
return false;
}
}
最佳答案
您可以检查 SQL Server 的端口 1433(或其他,如果使用):
TcpClient tcpc = new TcpClient();
try
{
tcpc.Connect("10.250.50.30", 1433);
return true;
}
catch
{
return false;
}
关于c# - 实时监控网络状态。引发了哪些事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159185/