モデルがビュー(フォーム)から非同期(backgroundWorkerスレッド)で実行されているMVCパターンが実装されたWinFormsアプリがあります。ビューは、モデルから発生するいくつかのイベントにサブスクライブされます。
次に、これをWCFアプリに変換する必要があります。このアプリでは、event-eventHandlerの概念が存在する必要があります。
最初はコールバックインターフェイスを介してこれを実装したかったのですが、私の場合、Modelの1つのメソッドが複数のタイプのイベントを発生させ、サービスコントラクトを定義するときに単一のコールバックインターフェイスの使用に制限されています。
この時点で、コールバックサービスのメソッドとしてさまざまなタイプのイベントを指定し、それをクライアントに実装するというアイデアを思いつきました。例えば:
public interface ICallbacks
{
[OperationContract(IsOneWay = true)]
void EventHandler1();
[OperationContract(IsOneWay = true)]
void EventHandler2(string callbackValue);
[OperationContract(IsOneWay = true)]
void EventHandler3(string callbackValue);
}
このソリューションを使用する必要がありますか、それともいくつかのより良い代替手段(publish-subscribe wcfパターン)がありますか?