ホスト アプリケーションで作成されたオブジェクトがあり、リモーティングを使用してリモートでアクセスできます。接続をテストして、オブジェクトがまだ「生きている」ことを確認する方法はありますか? おそらく、リモート接続が切断された場合に発生するイベント、またはリモート接続の状態を教えてくれるプロパティです。このような利用可能なものはありますか?
5673 次
2 に答える
9
私は通常、別のメソッドをリモーティング サーバーの MarshallByRef クラスに追加します (通常、次のように Ping() と名付けます)。
public void Ping() {}
それは何もせず、何も返しません..次に、接続を「テスト」するために、このメソッドを呼び出します... System.Net.Sockets.Exception がスローされた場合、接続が失われました....
于 2008-11-13T17:18:31.867 に答える
5
接続を確認すると、どのようなメリットがありますか? ping を実行しても、次の瞬間にリモート呼び出しを行ったときに接続がまだ有効であるとは限りません。
リモーティングコールを試してキャッチするだけでわかります。
このタイプのチェックは無意味です (ネット接続、ファイル ロックなど)。あなたがチェックしたものの状態は、チェックの直後に変化する可能性があるためです。トレイを作成し、失敗した場合はクリーンアップ/再試行します。
于 2008-11-13T18:34:18.267 に答える