2012-05-07 3 views
4

У меня есть страница с обычной панелью обновления Ajax. Существует кнопка отправки, которая отправляет пользовательский выбор на сервер. Если пользователь ждет минуту или две, ответ с сервера будет HTTP 413 (объект запроса слишком велик) с сервера. Это происходит только тогда, когда я пытаюсь повторно отправить его после ожидания минуты или двух. Если участок страницы и отправить форму, сервер может ее обработать.Http Status Code 413

Я изменил UploadReadAheadSize (как указано http://forums.asp.net/t/1574804.aspx) и установить его на 200,000,000 - по-прежнему сохраняется проблема

Http Request

POST https://server/somepage HTTP/1.1 
Accept: */* 
Accept-Language: en-US,zh-Hans;q=0.9,zh-CN;q=0.8,zh-SG;q=0.7,zh-Hant;q=0.6,zh-HK;q=0.4,zh-MO;q=0.3,zh-TW;q=0.2,zh;q=0.1 
Referer: https://server/somepage 
x-requested-with: XMLHttpRequest 
x-microsoftajax: Delta=true 
Content-Type: application/x-www-form-urlencoded; charset=utf-8 
Cache-Control: no-cache 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; .NET4.0E) 
Host: some-server 
Content-Length: 86124 
Connection: Keep-Alive 
Form-Data........... 

Запрос закончен SSL.

Я также попытался изменить конфигурацию httpruntime в веб-конфигурации

<httpRuntime executionTimeout="3600" maxRequestLength="1902400" /> 
+0

Крайне извините. Настройка работы uploadReadAheadSize до 200 МБ. Раньше я пытался установить размер около 2 МБ. Чтобы сохранить его в безопасном диапазоне, измените его на 20 МБ – Anand

ответ

4

Это решило ошибку. Исправьте меня, если я смогу правильно описать проблему. SSL открывает безопасный туннель (в течение некоторого времени), поэтому, когда я пробовал отправлять данные за этот период, все было хорошо. Но как только туннель закрыт, и сервер предварительно загрузит запрос до повторного согласования клиента. Но максимальная длина preload была небольшой, и, следовательно, она не удалась.

Я попытался установить значение значения uploadReadAhead 120 000, которое было больше, чем размер запроса объекта около 86 000. Тем не менее запрос не удался (wierd .. ????). Это стало прекрасно, когда я установил его на значение около 10 МБ.

Смежные вопросы