wcf使用netTcpBinding实现双工通信

本文介绍了如何使用WCF的netTcpBinding实现双工通信,通过创建服务契约、服务实现、服务宿主程序和客户端程序,详细阐述了配置和服务的运行过程。文中还提及了避免通道异常和优化服务实例管理的方法。
摘要由CSDN通过智能技术生成

原来在学习Silverlight的时候使用过WCF的双工通信,不过是使用pollingDuplexHttpBinding来实现双工,而且服务也是绑定在web程序中。也许是架构没有设计好哭,在客户端多了的时候有些消息通道就会异常,觉得很不爽,刚好网上看到一个大侠的基于netTcpBinding的聊天室代码(参见http://www.cnblogs.com/ShadowLoki/archive/2012/08/30/2663931.html)。于是就想重新使用netTcpBinding优化一下。大侠提供了两个程序代码,分别是WCF程序寄宿在控制台程序中,下载回来后应该是SimplePush.rar文件。另外一个程序则是silverlight +wcf,下载回来后的文件名是Chat.rar。

好了,按照上面链接介绍的步骤创建service和contract单独项目,这两个项目类型为'WCF服务库'。


一、我们定义一个基础的WCF服务契约(contract

IPushService
/// <summary>
    /// 推送服务契约
    /// 
    /// Tips:
    /// 契约提供两个服务,一个是订阅,一个是退订。
    /// 服务端会向订阅的客户端发布消息
    /// </summary>
    [ServiceContract(CallbackContract = typeof(IPushCallback))]
    public interface IPushService
    {
        /// <summary>
        /// 订阅服务
        /// </summary>
        [OperationContract(IsOneWay = true)]
        void Regist();

        /// 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值