在Web服务WCF上超过了maxRequestLength

时间:2019-05-17 19:21:01

标签: c# wcf web-config webserver asmx

我的网络服务遇到了一些麻烦,该请求超出了我已经将webconfig设置为此值的网络服务的最大int大小,但是它不起作用

<httpRuntime targetFramework="4.5.1" executionTimeout="300" maxRequestLength="2147483647" />

是否可以将其设置为大于2147483647?

是的,我已经在这里检查了这些答案,但是没有一个人对这个问题有解决方案

2 个答案:

答案 0 :(得分:1)

尝试添加以下配置。
绑定配置。

<binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />

DataConstractSerializer。

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
      <behavior name="mybehavior">
          <serviceMetadata httpsGetEnabled="true" httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </serviceBehaviors>

请不要忘记在客户端和服务器端之间应用配置(我们应该在客户端和服务器端端点上都添加此配置)。在服务部分中添加bindingConfiguration和behaviorConfiguration。

  <system.serviceModel>
    <services>
      <service name="WcfService2.Service1" behaviorConfiguration="mybehavior">
        <endpoint address="" binding="wsHttpBinding" contract="WcfService2.IService1" bindingConfiguration="mybinding"/>

请随时让我知道问题是否仍然存在。

答案 1 :(得分:0)

经过长时间的搜索,我们在webservice web.config文件中找到了此解决方案设置

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="2200000000"/>              
        </requestFiltering>
    </security>
</system.webServer>