回调服务示例(Callbackui)

本示例主要体现以下几部分内容:

1、支持回调(callback)。包括Tcpbinding和WsDualHttpbing两种。Tcp主要应用在局域网内的传输。WsDual可应用于广域网。对于Ws绑定要注意,在XP环境下,该绑定的客户端回调地址默认使用80端口,这会与IE端口重复,造成地址冲突。因此须在客户端绑定中,指定clientBaseAddress属性。

2、解决UI界面回调死锁问题。当客户端UI中实现回调时,由于之前UI一直在等待第一次调用,所以会造成死锁。示例中通过设置callbackbehavior实现。如下:

    [CallbackBehavior(
        //所有的客户端会为所有的连接和激活对象共享一个相同的服务实例
       ConcurrencyMode = ConcurrencyMode.Multiple,
        UseSynchronizationContext = false)]

page:http://www.codeproject.com/KB/WCF/WCF_Duplex_UI_Threads.aspx

code:/Files/jyz/Callback-UI.7z

/Files/jyz/WCFDualTest.7z

原文地址:https://www.cnblogs.com/jyz/p/1435055.html