2

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

有没有办法感知网络连接然后触发事件?我知道我可以使用定期检查网络连接的计时器来执行此操作,但我希望该事件在设备建立连接后立即运行。

4

2 回答 2

7

当网络可用性发生变化时,您可以注册到NetworkChange.NetworkAvailabilityChanged事件以接收事件

来自 MSDN:

当网络的可用性发生变化时,NetworkChange 类会引发 NetworkAvailabilityChanged 事件。当至少一个网络接口被标记为“up”并且不是隧道或环回接口时,该网络可用。

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

Windows 2000 和更高版本支持 NetworkAvailabilityChanged 事件。

有关详细信息 http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkchange.networkavailabilitychanged.aspx

于 2013-10-10T20:01:47.197 回答
2

也许您可以尝试使用 Windows 任务计划程序设置运行应用程序的计划?我知道在 Windows 7 中您可以做到这一点,并且您可以设置运行条件:仅当某个网络可用时。我想它会为你解决很多麻烦。除此之外,也许您可​​以尝试: 我需要一个事件来检测 Internet 连接/断开连接

第一个答案也会发送给您:

http://msdn.microsoft.com/en-us/library/ee264321(VS.85).aspx

于 2013-10-10T20:02:04.377 回答