У меня есть asp.net веб-апи приложение, размещенное в IIS. Это приложение имеет 100 МБ в <httpRuntime maxRequestLength=...
и в <requestLimits maxAllowedContentLength=...
. Но иногда клиент получает 413 Request entity too large
в ответ на довольно небольшие запросы. Я видел некоторые исправления типа «просто изменить uploadreadaheadsize». Но на самом деле для меня это решение непонятно. Почему я сталкиваюсь с этой ошибкой, когда параметры запроса настроены правильно?
Update1: еще одна деталь - это приложение использует аутентификацию сертификатов клиентов.
Update2: Я нашел это https://technet.microsoft.com/en-us/library/cc737382(v=ws.10).aspxasp.net Web API: IIS8 - (413) Request Entity Too Large
1
A
ответ
1
Here вы можете найти описание причины этой проблемы. Я установил uploadreadaheadsize до 1 mb вместо по умолчанию 49152 b. Я использовал этот Powershell скрипт:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webserver/serverruntime" -name "uploadreadaheadsize" -value 1048576
На самом деле я думаю, что этот сценарий должен работать тоже (это не настолько глобально):
Set-WebConfigurationProperty -PSPath "iis:\Sites" -location "sitename here" -filter "system.webserver/serverruntime" -name "uploadreadaheadsize" -value 1048576