我正在开发一个项目,该项目使用 SQL Server Express 将数据存储在笔记本电脑上,并在连接到网络后同步回网络服务器。
有没有办法感知网络连接然后触发事件?我知道我可以使用定期检查网络连接的计时器来执行此操作,但我希望该事件在设备建立连接后立即运行。
我正在开发一个项目,该项目使用 SQL Server Express 将数据存储在笔记本电脑上,并在连接到网络后同步回网络服务器。
有没有办法感知网络连接然后触发事件?我知道我可以使用定期检查网络连接的计时器来执行此操作,但我希望该事件在设备建立连接后立即运行。
当网络可用性发生变化时,您可以注册到NetworkChange.NetworkAvailabilityChanged
事件以接收事件
来自 MSDN:
当网络的可用性发生变化时,NetworkChange 类会引发 NetworkAvailabilityChanged 事件。当至少一个网络接口被标记为“up”并且不是隧道或环回接口时,该网络可用。
要让 NetworkChange 对象在发生 NetworkAvailabilityChanged 事件时调用事件处理方法,您必须将该方法与 NetworkAvailabilityChangedEventHandler 委托相关联,并将此委托添加到此事件。
Windows 2000 和更高版本支持 NetworkAvailabilityChanged 事件。
也许您可以尝试使用 Windows 任务计划程序设置运行应用程序的计划?我知道在 Windows 7 中您可以做到这一点,并且您可以设置运行条件:仅当某个网络可用时。我想它会为你解决很多麻烦。除此之外,也许您可以尝试: 我需要一个事件来检测 Internet 连接/断开连接
第一个答案也会发送给您:
http://msdn.microsoft.com/en-us/library/ee264321(VS.85).aspx