1

我正在使用 .NET WCF 服务,该服务接受 JSON 数据作为来自另一个 .NET 应用程序的 HTTP Post。

当我发布少量数据时,一切正常(〜最多 65kb 的数据)

但是,当我尝试发布更多内容时,我在服务端收到内部服务器错误。

一切都表明该服务仅限于接受高达 65kb 的数据。

我已经阅读了有关修改我的配置文件以使用 maxrequestmessagesize 属性接受更多数据的信息,但是我的问题是我的 web.config 没有任何我可以看到的绑定。

这是我的配置文件中与服务相关的内容

<system.serviceModel>

    <behaviors>

      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>

          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

我不知道该怎么做才能超过 65 k 限制 - 任何帮助将不胜感激。

谢谢

4

2 回答 2

2

在您的配置中使用它:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_ImyService"
                maxBufferPoolSize="2147483647"
                maxReceivedMessageSize="2147483647">
            </binding>
        </basicHttpBinding>
    </bindings>

</system.serviceModel>
于 2013-02-19T18:38:57.270 回答
1

我只是快速浏览了一下,我在不同的地方有 4 个设置来为我的 WCF 服务“提高请求大小栏”:

maxarraylength (binding/readerquotas tag) maxbuffersize (binding tag) maxreceivedmessagesize (binding tag) maxrequestlength (system.web/httpruntime tag)

我不确定为什么您的配置中没有绑定。也许如果没有指定,那么使用默认值?你有任何服务/服务/端点标签吗?也许您正在通过代码设置这些?

于 2013-02-19T18:35:38.630 回答