У меня есть мои ASP.NET WebAPIs, размещенные в IIS 7.5+, у которых максимальная длина разрешенного Max по умолчанию установлена в 30000000 байт.Что все места для проверки ограничения размера загрузки файлов?
Когда я открываю функцию моего webAPI на IIS и проверяю там запись, он говорит 30000000 байт, но когда я делаю загрузку файлов размером более 4 МБ в webAPI, это исключение для исключения, как показано ниже.
Сообщение «Максимальная длина запроса превышена».
Трассировка стека:
в System.Web.HttpBufferlessInputStream. ValidateRequestEntityLength() в System.Web.HttpBufferlessInputStream.GetPreloadedContent (байт [] буфера, Int32 & смещение, Int32 & счетчик) на System.Web.HttpBufferlessInputStream.BeginRead (байт [] буфера, Int32 смещение, граф Int32, AsyncCallback обратный вызов, состояние объекта) в System.IO.Stream.b__d (поток потока, аргументы ReadWriteParameters, обратный вызов AsyncCallback, состояние объекта) в System.Threading.Tasks.TaskFactory`1.FromAsyncTrim [TInstance, TArgs] (TInstance thisRef, TArgs args, Func`5 beginMethod, Func`3 endMethod) в System.IO.Stream.BeginEndReadAsync (буфер Byte [], смещение Int32, количество Int32) в System.IO.Stream.ReadAsync (буфер Byte [], смещение Int32 , Int32 count, CancellationToken cance llationToken) at System.Web.Http.WebHost.SeekableBufferedRequestStream.d__0.MoveNext() --- Конец трассировки стека из предыдущего места, где было выбрано исключение - в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача задача) на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) задача на System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() в System.Net.Http.HttpContentMultipartExtensions.d__8.MoveNext()
Файлы размером менее 4 МБ загружаются в порядке.
Любая идея, какие места я должен искать, чтобы узнать, где установлен этот предел?
То, что я пробовал:
Я проверил Web.config Сервера, machine.config, а также все web.config приложения, но не вижу вход для ограничения размера в любом месте.
Я также попытался настроить записи в файлах web.config webAPI - maxRequestLength
и maxAllowedContentLength
, как указано в других вопросах, которые требуют увеличения ограничения на размер для загрузки файлов. При выполнении этой функции фильтрации запросов в IIS показывалось новое значение, но я все еще получал такое же исключение для файлов размером более 4 МБ.
Вы пробовали yo set ' '? –
Я думаю, что этот ответ может быть полезным: http://stackoverflow.com/a/30870507/1718624 – JonFriesen
Как насчет этого: http://stackoverflow.com/questions/15506648/how-to-upload-a-large-file -with-asp-net-mvc4-web-api-with-progressbar – lcryder