0

私はサーバーから読んでいます

 MessageTable msg = (MessageTable)Activator.GetObject(typeof(MessageTable), portFormat, WellKnownObjectMode.Singleton);

サーバーが実行中の場合は、値とメソッドを含む msg オブジェクトを返します。

サーバーが実行されているかどうかにかかわらず、null msgを返すことはありませんが、サーバーが使用できない場合、そのメソッドを呼び出すと例外がスローされ、サーバーをチェックする方法が実行されていません。

4

1 に答える 1

0

サーバーが応答しているかどうかを確認できるメソッドが見つかったとしても、IsOnline() の呼び出しと呼び出したいメソッドの呼び出しの間にサーバーがオフラインになった場合はどうなるでしょうか。

リモート呼び出しを行うすべての場所で、この例外を処理する必要があると思います。

それでもサーバーがオンラインかどうかを知る方法を見つけたい場合は、何もしない MessageTable クラスに Ping() メソッドを追加できます。役立つものが見つかった場合は、 RemotingServicesクラス内を確認することもできます。多分RealProxyで...

于 2012-05-30T12:49:33.470 に答える