我经历了关于这一切的所有帖子,没有任何帮助,所以我发布了这个因为我把头发拉出来。
我有一个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>
是的,相同的配置。我错过了什么吗?
答案 0 :(得分:0)
服务是基于ASMX的,重做纯粹的WCF,现在它可以工作。