クライアントサーバーのWCFデュプレックスシナリオで、クライアント側でエラーが発生したことをサーバーに通知するための推奨される方法は何ですか?サーバーがクライアントの1つに特定の操作を実行する必要があることを通知し、クライアント側で例外がスローされているとします。
コールバックインターフェースでは、私はこのようなものを持っています
[OperationContract(IsOneWay = true)]
void Work(...);
最善のアプローチは何ですか:
NotifyServer(int clientId, string message)
要求された操作が失敗したことをユーザーに知らせるためにクライアントが呼び出すことができるメッセージを実装します。- 操作コントラクトを設定した場合、UIの応答性を維持するために、スレッド
IsOneWay = false
上のすべてのクライアントを呼び出す必要がありますか?BackgroundWorker
- サーバーに非同期操作を実装しますか?これはどのように機能しますか?クライアントで非同期操作を生成できますが、クライアントのコールバックメソッドに同じパターン(
BeginWork
、 )を使用する必要がありますか?EndWork
FaultException
動作しないときにクライアント側にをスローするため、他に何も考えられませんIsOneWay = true
。
何かアドバイス?
前もって感謝します!