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

    在用到WCF通讯的项目中,在将业务逻辑服务器内存中的数据,传输至ERP界面的显示,以后在查询服务器上的数据时,避免进入KVM出现的卡壳现象。已将服务器内存数据全部提供服务让ERP进行调用,所有数据都可以,但是在驾驶员数据(7000以上)和注册的设备ID数据(3000)以上,两者数据请求出现远程主机强迫关闭了一个现有的连接的问题,数据量一大则出现此种情。经过多次资料查询,解决了此问题,进行记录,以防再次有类似情况

    服务器端配置

    maxBufferSize与maxReceivedMessageSize设大数据值“2147483647”

     <basicHttpBinding>
            <binding name="BasicHttpBindingConfig" receiveTimeout="00:00:30"
              sendTimeout="00:00:30" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
     </basicHttpBinding>
    
    其次,将MaxItemsInObjectGraph值设大
    <behavior name="BasicHttpBehavior">
              <serviceThrottling maxConcurrentSessions="10000" maxConcurrentInstances="1000" maxConcurrentCalls="1000" />
              <serviceDebug includeExceptionDetailInFaults="false" />
              <serviceMetadata httpGetEnabled="true" />
              <dataContractSerializer maxItemsInObjectGraph="2147483647" />  
            </behavior>
    
    再次即设置客户端配置项
    将maxItemsInObjectGraph设大
    <behaviors>
          <endpointBehaviors>
            <behavior name="BasicHttpBehavior">
              <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
            </behavior>
          </endpointBehaviors>
        </behaviors>
    
    同样将maxBufferSize与maxReceivedMessageSize设大数据值“2147483647”
    
    
    <binding name="BasicHttpBinding_IHandleWeb" closeTimeout="00:01:00"
         openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
         allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
         maxBufferSize="2147483647" maxBufferPoolSize="5242880000" maxReceivedMessageSize="2147483647"
         messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
         useDefaultWebProxy="true">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None"
           realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
         </security>
        </binding>
  • 相关阅读:
    @RequestParam注解使用:Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
    cglib动态代理导致注解丢失问题及如何修改注解允许被继承
    springboot Autowired BeanNotOfRequiredTypeException
    git根据用户过滤提交记录
    不同包下,相同数据结构的两个类进行转换
    How to use Jackson to deserialise an array of objects
    jooq实践
    java如何寻找main函数对应的类
    Python--matplotlib
    Python 和 Scikit-Learn
  • 原文地址:https://www.cnblogs.com/conquer/p/2629086.html
Copyright © 2011-2022 走看看