我有一个WebAPI(.net 4.6),并托管在IIS7.5中,其中一种操作方法被编写为使用PUT动词将文件接收到服务器。 引用了URL中的详细信息,并编写了使用WebHostBuferPolicySelctor来获取无缓冲流以接收文件的代码。此处使用Multipartformdata MIME类型。以下是我的代码
using (StreamContent content = new StreamContent(HttpContext.Current.Request.GetBufferlessInputStream(true))) {
foreach (var header in this.Request.Content.Headers)
{
content.Headers.TryAddWithoutValidation(header.Key, header.Value);
}
await content.ReadAsMultipartAsync(new CustomMultipartFileStreamProvider
(TPDirectoryPath, fileName))
}
配置设置(用于更大的文件大小)
以下是webapi配置设置
<httpRuntime targetFramework="4.6" maxRequestLength="2147483647"/>
<requestLimits maxAllowedContentLength="2147483647"/>
IIS设置(用于更大的文件大小)
对于文件大小最大为800 MB的文件,上面的一切工作正常,但是当我尝试上传文件大小大于1 GB的文件时;我在ManagedpipelineHandler模块中收到500个内部服务器错误。它没有到达应用程序代码,并且在IIS本身失败。
请问有人可以帮我解决IIS更大文件大小的问题吗?