0

我浏览了所有关于这个的帖子,没有任何帮助,所以我发布了这个,因为我正在拔头发。

我有一个 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>

所以是的,相同的配置。我错过了什么吗?

4

1 回答 1

0

服务是基于 ASMX 的,重做它纯 WCF,现在它可以工作了。

于 2013-04-02T19:29:02.627 回答