• 解决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>
  • 相关阅读:
    django实现github第三方本地登录
    django扩展User模型(model),profile
    WSGI
    Linux查看配置文件中未被注释的有效配置行
    virsh 命令
    qemu-img命令
    python logging
    oslo.messaging
    集成kafka的身份认证(SASL/PLAIN)到kubernets环境中
    Helm基础知识
  • 原文地址:https://www.cnblogs.com/conquer/p/2629086.html
Copyright © 2020-2023  润新知