SQL Server Express を使用してラップトップにデータを格納し、ネットワークに接続するとネットワーク サーバーに同期するプロジェクトを開発しています。
ネットワーク接続を感知してイベントをトリガーする方法はありますか? ネットワーク接続を定期的にチェックするタイマーを使用してこれを実行できることはわかっていますが、デバイスが接続を確立したらすぐにイベントを実行したいと考えています。
SQL Server Express を使用してラップトップにデータを格納し、ネットワークに接続するとネットワーク サーバーに同期するプロジェクトを開発しています。
ネットワーク接続を感知してイベントをトリガーする方法はありますか? ネットワーク接続を定期的にチェックするタイマーを使用してこれを実行できることはわかっていますが、デバイスが接続を確立したらすぐにイベントを実行したいと考えています。
NetworkChange.NetworkAvailabilityChanged
ネットワークの可用性が変化したときにイベントを受信するために、イベントに登録できます。
MSDN から:
NetworkChange クラスは、ネットワークの可用性が変化したときに NetworkAvailabilityChanged イベントを発生させます。少なくとも 1 つのネットワーク インターフェイスが「up」とマークされていて、トンネルまたはループバック インターフェイスでない場合、ネットワークは使用可能です。
NetworkAvailabilityChanged イベントが発生したときに NetworkChange オブジェクトがイベント処理メソッドを呼び出すようにするには、そのメソッドを NetworkAvailabilityChangedEventHandler デリゲートに関連付け、このデリゲートをこのイベントに追加する必要があります。
NetworkAvailabilityChanged イベントは、Windows 2000 以降でサポートされています。
Windows タスク スケジューラを使用して、アプリケーションを実行するスケジュールを設定してみてはいかがでしょうか。Windows 7 ではそれが可能で、実行条件を設定できることを知っています: 特定のネットワークが利用可能な場合のみ。あなたの悩みを解決してくれると思います。それ以外は試してみてください: インターネットの接続/切断を検出するイベントが必要です
そして最初の答えもあなたを送ります:
http://msdn.microsoft.com/en-us/library/ee264321(VS.85).aspx