none
如何建立持续通道的连接? RRS feed

  • 问题

  • 我想建立一个持续Channel和n个非持续Channel

    持续Channel的配置如下:

    wcf 是双通道,net.tcp

    IsInitiating = true, IsTerminating = false

    InstanceContextMode.PerSession

    但是我发现binding.receiveTimeout设置10秒,10秒后会Channel会关闭,而且receiveTimeout看起来是处理超时的属性,可是并不一定在处理状态,我尝试用idleTimeout,leaseTimeout没效果,我到底哪里有错误?

    我在服务器的Channel管理代码如下:

     var lui = new LoginUserInfo();
     lui.UserName = userName;
     lui.OperationContext = OperationContext.Current;

     //将OperationContext 加入到静态数组中用多线程处理
     LoopThreading.LoopThreading1.AddLogin(lui);

     

    10秒后Channel_Closing事件会触发,我如何高效的处理持续Channel?

     


    lcpking
    2010年8月23日 6:29

答案

  • lcpking,

    我不太明白你想实现什么功能,若想让通道长期连接,你把服务端ReceiveTimeout设大些就好了。在使用callback channel时注意检查channel state


    Mog Liang
    • 已标记为答案 lcpking 2010年8月28日 4:01
    2010年8月26日 7:48

全部回复

  • InActivityTimeOut 把这个值在Binding里设置一下
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    老徐的博客】:http://www.cnblogs.com/frank_xl/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    2010年8月23日 11:32
    版主
  • to:frank xu lei

    我已经设置了,但是报错->"此终结点不支持操作 wcfSer/ILogin/Login。此终结点仅处理 WS-ReliableMessaging 2005 年 2 月的消息"

    不能够使用契约了?

    使用reliableMessagingVersion="WSReliableMessaging11"错误如下:

    RM 服务器要求使用 WS-ReliableMessaging 1.1 协议。这可能是由绑定不匹配引起的


    lcpking
    2010年8月24日 1:31
  • 我的绑定:

    • <customBinding>
              <binding name="bindNameSer" receiveTimeout="00:00:10" sendTimeout="00:00:10">
                <binaryMessageEncoding />
                <tcpTransport />
              </binding>
              <binding name="bindNameLogin" receiveTimeout="00:00:10" sendTimeout="00:00:10">
                <binaryMessageEncoding />
                <reliableSession inactivityTimeout="00:00:10" reliableMessagingVersion="WSReliableMessaging11" />
                <tcpTransport />
              </binding>
       </customBinding>
         

    lcpking
    2010年8月24日 1:48
  • lcpking,

    我不太明白你想实现什么功能,若想让通道长期连接,你把服务端ReceiveTimeout设大些就好了。在使用callback channel时注意检查channel state


    Mog Liang
    • 已标记为答案 lcpking 2010年8月28日 4:01
    2010年8月26日 7:48