我有实现 MVC 模式的 WinForms 应用程序,其中模型从视图(表单)异步运行(后台工作线程)。View 订阅了从 Model 引发的几个事件。
现在我需要将其转换为 WCF 应用程序,其中必须存在 event-eventHandler 概念。
起初,我想通过回调接口来实现这一点,但在我的例子中,模型中的一种方法引发了不止一种类型的事件,并且在定义服务合同时我受限于单个回调接口的使用。
这时我想到了在回调服务中指定不同类型的事件作为方法并在客户端实现它的想法。例如:
public interface ICallbacks
{
[OperationContract(IsOneWay = true)]
void EventHandler1();
[OperationContract(IsOneWay = true)]
void EventHandler2(string callbackValue);
[OperationContract(IsOneWay = true)]
void EventHandler3(string callbackValue);
}
我应该接受这个解决方案还是有一些更好的选择(发布-订阅 wcf 模式)?