• WCF分布式开发常见错误


    参考:http://www.51crazy.net/Article/132.aspx

      之前我在做WCF有关这块工作,经常遇到这个问题,开始一般我会增加SendTimeout的值,但现在我意识到,这是一种治标不治本的方法。下面也许才是才是本质上能够避免这种超时异常。

      System.TimeoutException: 请求通道在等待 00:01:00 以后答复时超时。增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值。分配给此操作的时间可能是更长超时的一部分。 --->

    System.TimeoutException: 对“http://localhost:8680/ReportService.svc”的 HTTP 请求已超过为 00:01:00 分配的超时。为此操作分配的时间可能是较长超时的一部分。 ---> System.Net.WebException: 操作超时

    解决方案:*
    1)首先保证客户端每次建立的连接在使用完成后进行关闭.即调用Close()方法,否则此连接会在设置的会话(一般为10分钟)后才自动关闭.期间任何客户端也无法使用此服务.
    2)如果默认的连接数不能满足客户端的需要,可以增加连接数.配置文件如下:
    说明:maxConcurrentCalls :最大并发数,默认为16
    maxConcurrentSessions :最大的会话数,主要针对于PerSession的情况,默认为10
    maxConcurrentInstances:最大实例数,默认为26
    3)使用Using关键字释放服务代理对象,但有的时候,过于频繁实例服务代理对象对性能也会受到影响,这就需要在两者之间做出权衡问题。折中的一个解决办法,我认为比较合适。

    http://www.cnblogs.com/frank_xl/category/180722.html

  • 相关阅读:
    .net 日期格式化
    grunt 上手
    设计模式的认识
    顺时针打印矩阵
    WCF 框架运行时类图
    Python闭包详解
    软件用了那些技术
    zoj 1610 Count the Colors(线段树延迟更新)
    快速提高自己的技术的办法?有两个方法
    纯win32实现PNG图片透明窗体
  • 原文地址:https://www.cnblogs.com/cuiwenke/p/1948176.html
Copyright © 2020-2023  润新知