如何在Http Post中增加项目大小

本文关键字:增加 项目 Post Http | 更新日期: 2023-09-27 18:12:56

我正在使用c#将数据发布到IIS web服务器。

我使用了XML和模式,当在一个字段中发布很长的数据时,我得到了一个"坏请求错误"。例如

<Field1>TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT.......<Field1>

我已经修改了我的网页。配置

<webHttpEndpoint>
   <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="21474836" maxBufferSize="21474836"  maxBufferPoolSize="21474836" ></standardEndpoint>
          </webHttpEndpoint>

我还需要做什么才能使它工作?

   <system.web>
        <authentication mode="Forms" />
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            </assemblies>
        </compilation>
        <httpRuntime maxRequestLength="204800" executionTimeout="12000" requestValidationMode="2.0" requestPathInvalidCharacters="" />
    </system.web>
    <system.serviceModel>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"></serviceHostingEnvironment>
        <standardEndpoints>
            <webHttpEndpoint>
                <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="21474836" maxBufferSize="21474836" maxBufferPoolSize="21474836"></standardEndpoint>
            </webHttpEndpoint>
        </standardEndpoints>
    </system.serviceModel>

如何在Http Post中增加项目大小

您需要在web中修复此值。配置所有请求,而不仅仅是WCF服务,就像你所做的那样…

<httpRuntime maxRequestLength="1234" executionTimeout="1200" />

你可能需要增加这个数字。这是针对首先发生的HttpRuntime的—所有请求都受此标记定义的规则的约束。您为WCF服务设置的请求限制只有在请求首先通过此检查(和其他检查)时才会应用。

我通过将readerquota添加到standardEndpoint

来修复它。
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="21474836" maxBufferSize="21474836"  maxBufferPoolSize="21474836" >
          <readerQuotas maxStringContentLength="2048000" maxArrayLength="2048000"  maxDepth ="65000"/>
        </standardEndpoint>
      </webHttpEndpoint>
        </standardEndpoints>