У меня есть WebAPI (.net 4.6) и размещен в IIS7.5. Один из методов действия написан для получения файлов на сервер с использованием глагола PUT.
Ссылались на детали из URL и написали код, который использует WebHostBuferPolicySelctor для получения потока без буфера для получения файла. MIME-тип multipartformdata используется здесь. ниже мой код
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 МБ, но когда я пытаюсь загрузить файл размером> 1 ГБ; Я получаю 500 внутренних ошибок сервера в модуле managedpipelineHandler. Не удается получить код приложения и произошел сбой на самом IIS.
Не могли бы некоторые помочь мне разобраться, в чем здесь проблема с IIS для увеличения размера файла?