Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测网络连接并触发事件_C#_Visual Studio 2010 - Fatal编程技术网

C# 如何检测网络连接并触发事件

C# 如何检测网络连接并触发事件,c#,visual-studio-2010,C#,Visual Studio 2010,我正在开发一个项目,使用SQL Server Express在笔记本电脑上存储数据,并在连接到网络后同步回网络服务器 有没有办法检测网络连接,然后触发事件?我知道我可以用一个定时器定期检查网络连接,但我希望在设备建立连接后立即运行该事件 您可以注册到NetworkChange.NetworkAvailabilityChanged事件,以便在网络可用性更改时接收事件 从MSDN: NetworkChange类在网络可用性更改时引发NetworkAvailabilityChanged事件。当至少一个

我正在开发一个项目,使用SQL Server Express在笔记本电脑上存储数据,并在连接到网络后同步回网络服务器


有没有办法检测网络连接,然后触发事件?我知道我可以用一个定时器定期检查网络连接,但我希望在设备建立连接后立即运行该事件

您可以注册到
NetworkChange.NetworkAvailabilityChanged
事件,以便在网络可用性更改时接收事件

从MSDN:

NetworkChange类在网络可用性更改时引发NetworkAvailabilityChanged事件。当至少一个网络接口标记为“up”且不是隧道或环回接口时,网络可用

要使NetworkChange对象在发生NetworkAvailabilityChanged事件时调用事件处理方法,必须将该方法与NetworkAvailabilityChangedEventHandler委托关联,并将此委托添加到此事件

Windows 2000及更高版本支持NetworkAvailabilityChanged事件

更多信息

也许您可以尝试使用windows任务计划程序设置运行应用程序的计划?我知道,在Windows7中,您可以这样做,并且可以设置运行条件:仅当某个网络可用时。我想这会给你解决很多麻烦。除此之外,您还可以尝试:

第一个答案也会告诉你: