WCF客户端错误基础连接已关闭 [英] WCF Client error The underlying connection was closed
本文介绍了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" >
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="64" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="Message">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<readerquotas maxdepth="32" maxstringcontentlength="900000000">
maxArrayLength="900000000" maxBytesPerRead="900000000" maxNameTableCharCount="900000000" />
<security mode="None">
<transport clientcredentialtype="None" proxycredentialtype="None">
realm="" />
<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">
<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" />
</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" />
<endpoint address="http://localhost:2402/Security.svc" binding="basicHttpBinding">
bindingConfiguration="BasicHttpBinding_ISecurity1" contract="ServiceReference2.ISecurity"
name="BasicHttpBinding_ISecurity1" behaviorConfiguration="myBehavior" />
<endpoint address="http://localhost:2402/NonFinancialService.svc">
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService1"
contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService" behaviorConfiguration="myBehavior"/>
<endpoint address="http://localhost:2402/FinancialService.svc">
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFinancialService"
contract="FeriFinancialService.IFinancialService" name="BasicHttpBinding_IFinancialService" behaviorConfiguration="myBehavior" />
<endpoint address="http://localhost:2402/FinancialService.svc">
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFinancialService1"
contract="FeriFinancialService.IFinancialService" name="BasicHttpBinding_IFinancialService1" behaviorConfiguration="myBehavior"/>
<endpoint address="http://localhost:2402/NonFinancialService.svc">
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService2"
contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService1" behaviorConfiguration="myBehavior" />
<endpoint address="http://localhost:2402/NonFinancialService.svc">
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INonFinancialService3"
contract="NonFinance.INonFinancialService" name="BasicHttpBinding_INonFinancialService2" behaviorConfiguration="myBehavior" />
</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屋!
查看全文