我浏览了所有关于这个的帖子,没有任何帮助,所以我发布了这个,因为我正在拔头发。
我有一个 WCF Web 服务,它有一个接收字符串的方法,一个长字符串。它适用于 2,390,158 个字符的字符串(尝试过),但不适用于大约 5,440,519 个字符的字符串。(我正在使用 VS 2010)
我有这个错误:
System.ServiceModel.CommunicationException:接收 HTTP 响应 http://localhost:58014/WSWebService.asmx 时出错。原因可能是连接端点服务没有使用 HTTP 协议。这也可能是由于服务器忽略了 HTTP 请求上下文(可能是由于服务中断)。
我将所有可以使用的参数都放在 int.MaxValue (2,147,483,647) 中,但它仍然不起作用。任何帮助/建议都将不胜感激。
我删除了“超时”部分,但没有区别:
closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
这是我的 app.config 中的绑定:
<bindings>
<basicHttpBinding>
<binding name="WSWebServiceSoap" maxReceivedMessageSize="20971520"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
我的配置服务器端是:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WSWebServiceSoap" maxReceivedMessageSize="20971520"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
maxBufferSize="20971520" maxBufferPoolSize="20971520"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
所以是的,相同的配置。我错过了什么吗?