wcf双工通信问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2024-12-28 20:19:53
推荐回答(2个)
回答1:

你都会写代码了,这个基础知识不应该不懂啊。要么就是我对你的问题理解错了?
所谓双工通讯,其实就是双向调用。
那如何进行双向调用呢,WCF给出了一个解决方案:客户端也起一个服务监听!
呵呵,当然这个只是打个比方,实际处理没有那么重量级。
但是,所谓“CallbackContract”,的确是一个动态的客户端的“服务”契约,用这个契约,服务就可以主动访问客户应用了,这个和标准的回调函数很相似吧,估计名字也就是这么来的:)
以上是基础知识解释。好了,下边正式回答你的问题:
首先,如果服务端不需要“回调”,那就不要在声明里使用CallbackContract,那么客户端自然也不需要在new的时候写入需要执行的具体回调处理方法名了。
第二,如果只是部分不需要,那么,最好把服务契约做一个明确划分,确定客户端访问时是否需要提供回调契约。
第三,即使声明了回调契约,客户端也实现了,DoWork内部也可以不调用契约接口啊,对系统性能没有任何影响。
如果没说清楚,你再问:)

回答2:

楼主的场景,分拆为两个Contract比较合理。
因为明显两个的职责是不一样的。