0

私は WCF 複数のゲーム サービスを持っています。クライアントはサーバーに接続し、いくつかのメソッドを呼び出します。1 つのクライアントが接続を失った場合、サーバーに再接続する方法は?接続が失われた場合のイベントはありますか? サーバーがセッションを再開し、切断前に呼び出されたメソッド呼び出しの結果を返す方法は? この問題に関する投稿や記事を教えてください。下手な英語でごめんなさい。手伝ってくれてありがとう

4

1 に答える 1

0

この種の問題を処理するために、できることとすべきことがいくつかあります。

まず、 Reliable Sessionsを有効にできます。信頼できるセッションは、WS-ReliableMessageing プロトコルに基づいており、メッセージとトランスポートの特定の障害をマスクするのに役立ちます。また、信頼できるセッションで定義された再試行とタイムアウトもあります。

クライアント側には、接続のステータス (Created、Connected、Faulted) を示すプロパティがありますが、呼び出しが終わるまでエラーになることはありません。それはチェックする1つの可能性です。次に、クライアントをダンプし、オブジェクトを再作成して再度接続できます。try catch ブロックを実行し、障害時にクライアントを再作成する必要があります。

切断された後でも結果が返されるという他の問題は、サービスのConcurrencyMode を Reentrantにするか、InstanceMode を Singleにすることで解決できます。 これは、どの組み合わせを使用するかについての CodePlex の記事です

于 2012-11-06T16:40:37.847 に答える