WCF客户端错误基础连接已关闭 [英] WCF Client error The underlying connection was closed

查看:58
本文介绍了WCF客户端错误基础连接已关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人

请解决我的查询:
从客户端调用WCF服务时,如果WCF响应数据具有3到4条记录,则客户端接受该数据并对其进行处理,但是如果数据大小大于显示的值,则基础连接已关闭:该连接意外关闭". .我正在使用IList对象作为响应对象..

我在客户端中添加了以下标签

Dear All

Please resolve my query:
While calling from Client to WCF service if WCF response data with 3 to 4 records then client accepts the data and process it but if data size is more than that it is showing The "underlying connection was closed: The connection was closed unexpectedly." . I am using IList object as response object ..

I have added below tag in client

<configuration>
<system.servicemodel>
    <behaviors>
      <endpointbehaviors>
        <behavior name="myBehavior">
          <callbackdebug includeexceptiondetailinfaults="true" />
          <datacontractserializer maxitemsinobjectgraph="2147483647" />
        </behavior>
      </endpointbehaviors>
    </behaviors>

    <bindings>
      
      <basichttpbinding>
        <binding name="BasicHttpBinding_ISecurity" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true" &gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_ISecurity1" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_INonFinancialService" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="64" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="Message">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_INonFinancialService1" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_IFinancialService" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_IFinancialService1" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_INonFinancialService2" closetimeout="00:10:00">
          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="900000000">
            maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
        <binding name="BasicHttpBinding_INonFinancialService3" closetimeout="00:01:00">
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true"&gt;
          <readerquotas maxdepth="32" maxstringcontentlength="8192" maxarraylength="16384">
            maxBytesPerRead="4096" maxNameTableCharCount="16384" /&gt;
          <security mode="None">
            <transport clientcredentialtype="None" proxycredentialtype="None">
              realm="" /&gt;
            <message clientcredentialtype="UserName" algorithmsuite="Default" />
          </transport></security>
        </readerquotas></binding>
      </basichttpbinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:2402/Security.svc" binding="basicHttpBinding">
        bindingConfiguration="BasicHttpBinding_ISecurity" contract="FeriSecurity.ISecurity"
        name="BasicHttpBinding_ISecurity" behaviorConfiguration="myBehavior" /&gt;
      <endpoint address="http://localhost:2402/Security.svc" binding="basicHttpBinding">
        bindingConfiguration="BasicHttpBinding_ISecurity1" contract="ServiceReference2.ISecurity"
        name="BasicHttpBinding_ISecurity1" behaviorConfiguration="myBehavior" /&gt;
      <endpoint address="http://localhost:2402/NonFinancialService.svc">
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService1"
        contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService"  behaviorConfiguration="myBehavior"/&gt;
      <endpoint address="http://localhost:2402/FinancialService.svc">
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFinancialService"
        contract="FeriFinancialService.IFinancialService" name="BasicHttpBinding_IFinancialService"  behaviorConfiguration="myBehavior" /&gt;
      <endpoint address="http://localhost:2402/FinancialService.svc">
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFinancialService1"
        contract="FeriFinancialService.IFinancialService" name="BasicHttpBinding_IFinancialService1"  behaviorConfiguration="myBehavior"/&gt;
      <endpoint address="http://localhost:2402/NonFinancialService.svc">
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService2"
        contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService1" behaviorConfiguration="myBehavior" /&gt;
      <endpoint address="http://localhost:2402/NonFinancialService.svc">
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService3"
        contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService2" behaviorConfiguration="myBehavior" /&gt;
    </endpoint></endpoint></endpoint></endpoint></endpoint></endpoint></endpoint></client>
  </system.servicemodel>
  <system.web>
    <httpruntime maxrequestlength="2147483647" />
  </system.web>
</configuration>


请还原.


Please revert .

推荐答案

我的第一个猜测是transferMode ="Streamed"给您带来麻烦,因为它也设置为"Buffered"-> transferMode ="Buffered",这通常是您想要的.

看看流式邮件传输 [
My first guess is that transferMode="Streamed" is causing you trouble, as it''s also set to "Buffered" -> transferMode="Buffered", which is what you usually want.

Have a look at Streaming Message Transfer[^]

[Update]
Now that somebody has formatted the xml: it looks like you have endpoint definitions nested inside each other too.

Best regards
Espen Harlinn


这篇关于WCF客户端错误基础连接已关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆