如何在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>
您需要在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>