我正在尝试使用HttpClient
向我的本地IIS服务器发送大量XML数据(~10mb),但总是得到500错误:Response status code does not indicate success: 500
:
StringContent content = new StringContent(xmlData, Encoding.UTF8, "application/xml");
var request = new HttpRequestMessage(HttpMethod.Post, redirectedAddress) { Content = content };
HttpClient client = new HttpClient();
client.SendAsync(request).ContinueWith(
postTask =>
{
var status = postTask.Result.EnsureSuccessStatusCode();
});
所以EnsureSuccessStatusCode
方法会抛出500错误,但是如果我发送的文件要小得多,比如50kb,那么它没问题。
我做了一些研究,人们建议在我的IIS配置中增加数据的最大大小,所以我做了:
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime executionTimeout="360"
maxRequestLength="65536"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true" />
和
<system.webServer>
<security >
<requestFiltering>
<requestLimits maxAllowedContentLength="1000000000000" />
</requestFiltering>
</security>
</system.webServer>
但仍然没有运气,一旦数据大小超过5mb,我就得到了例外。还有什么我需要设置的吗?
答案 0 :(得分:1)
您还需要增加maxRequestLength。目前设置为65536,大约6 MB,你需要加倍,以满足您的需求。有关详细信息,请参阅此处:https://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength(v=vs.110).aspx