【发布时间】:2012-12-03 11:14:52
【问题描述】:
在客户端服务器 WCF 双工方案中,推荐的方法是让服务器知道客户端发生了错误吗?假设服务器通知其中一个客户端它需要执行某个操作并且客户端抛出异常。
在回调接口上,我有这样的东西
[OperationContract(IsOneWay = true)]
void Work(...);
什么是最好的方法:
- 实现一个
NotifyServer(int clientId, string message)消息,客户端可以调用该消息让用户知道请求的操作失败, - 如果我在操作合同上设置
IsOneWay = false,我是否必须在BackgroundWorker线程上调用每个客户端以保持 UI 响应? - 在服务器上实现异步操作?这将如何运作?我可以在客户端生成异步操作,客户端回调方法是否必须使用相同的模式(
BeginWork、EndWork)?
想不出别的,因为IsOneWay = true时在客户端抛出FaultException是行不通的。
有什么建议吗?
提前谢谢你!
【问题讨论】:
标签: wcf asynchronous duplex