zoukankan      html  css  js  c++  java
  • 解决WCF传输大数据量时出错并提示:远程主机强迫关闭了一个现有的连接

    最近将手头的一个多数据库程序采用WCF封装了一下,解决安全问题及多种客户端登陆问题。但在实际运行中 ,发现数据量少时正常访问,数据量大时,就出错,提示:远程主机强迫关闭了一个现有的连接,很是郁闷。

    经查,出错的一个数据库(已经ORM)有50多个字段,基本上数据量为1200多条时,就会出错。

    经多次Google,辛苦万分,终于解决此问题,现将解决方法留下,以备用。

    首先应将MaxReceivedMessageSize值设大,如:

    <basicHttpBinding>
    <binding name="basicBinding" maxReceivedMessageSize="2147483647"></binding>
    </basicHttpBinding>

    其次,应该将MaxItemsInObjectGraph值设大,如:

    代码
    <behavior name="bcf">
    <serviceMetadata httpGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="false" /> <dataContractSerializer maxItemsInObjectGraph="2147483647" />
    </behavior>
    </serviceBehaviors>

    以上为服务器端设置,服务器端和客户端均应设大,客户端设置如下:

    代码
    <behaviors>
    <endpointBehaviors>
    <behavior name="bhc">
    <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
    </behavior>
    </endpointBehaviors>
    </behaviors>
    <basicHttpBinding>
       
    <binding name="basicBinding" maxReceivedMessageSize="2147483647"></binding>
     
    </basicHttpBinding>

     至此基本已经OK,如果再有问题,可将maxBufferSize、receiveTimeout值设大即可。

  • 相关阅读:
    方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、定义和使用
    NSDate
    runtime
    iOS开发常用的工具
    程序的国际化
    经常使用的iOS SDK库和第三方库
    RunLoop是什么?
    狼若回头,必有理由
    第1年1月21日 Guard Malloc
    第1年1月10日 flv格式
  • 原文地址:https://www.cnblogs.com/snowsky/p/1913601.html
Copyright © 2011-2022 走看看