我使用MVC模式實現了WinForms應用程序,其中Model從View(Form)異步運行(backgroundWorker線程)。視圖訂閱了從Model引發的一對事件。WCF中的事件委託類比
現在我需要將其轉換爲WCF應用程序,其中event-eventHandler概念必須存在。
起初,我想通過回調接口實現這一點,但在我的情況下,來自Model的一種方法引發了多種類型的事件,並且在定義服務合同時受到單個回調接口的限制。
此時我想出了在回調服務中將不同類型的事件指定爲方法並在客戶端實現的想法。例如:
public interface ICallbacks
{
[OperationContract(IsOneWay = true)]
void EventHandler1();
[OperationContract(IsOneWay = true)]
void EventHandler2(string callbackValue);
[OperationContract(IsOneWay = true)]
void EventHandler3(string callbackValue);
}
我應該配合這個解決方案還是有一些更好的選擇(發佈 - 訂閱wcf模式)?