2013-04-10 5 views
2

У меня есть код JavaScript, который генерирует очень длинный скрипт, а затем отправляет его обратно на сервер в общий обработчик для создания csv.Общий предел размера параметра обработчика?

Мой JavaScript код для передачи данных является:

function postwith(to, p) { 
var myForm = document.createElement("form"); 
myForm.method = "post"; 
myForm.action = to; 
for (var k in p) { 
    var myInput = document.createElement("input"); 
    myInput.setAttribute("name", k); 
    myInput.setAttribute("value", p[k]); 
    console.log(k+":"+p[k]); 
    myForm.appendChild(myInput); 
} 
document.body.appendChild(myForm); 
myForm.submit(); 
document.body.removeChild(myForm); 

}

В моей консоли я вижу, что вся строка добавляется в виде ("console.log (к +„:“ + p [k]); поэтому клиентская сторона работает нормально.

В представлении сети, где я просматриваю запрос/ответ, я вижу, что «Содержимое» (имя атрибута данных формы) не является полный - срезается посередине.

на стороне сервера очень проста - отправляет обратно содержимое в формате CSV:

public class Excel : IHttpHandler { 

public void ProcessRequest (HttpContext context) { 

    context.Response.ContentType = "text/csv"; 
    context.Response.AddHeader("Content-Disposition", "attachment; filename=" + context.Request["Report"] +System.DateTime.Now.Ticks+ ".csv"); 
    string content = context.Request["Content"]; 
    content = content.Replace(";", System.Environment.NewLine); 
    System.Text.UTF8Encoding uc = new System.Text.UTF8Encoding(true); 
    context.Response.Output.WriteLine(content); 
    context.Response.End(); 
} 

public bool IsReusable { 
    get { 
     return false; 
    } 
} 

}

МОЯ догадка сервер должен быть настроен как-то, чтобы большие сообщения ...

+0

Сколько времени занимает "очень длинный"? – AakashM

+0

Csv Я получаю 515 КБ и включает в себя часть, которая была передана. Я предполагаю, что фактический размер должен быть около 1 МБ. –

ответ

0

Вы может установить максимально допустимую длину контента в файле web.config. Значение по умолчанию составляет 30 000 000 байт:

<system.webServer> 
    <security> 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="[maxLengthInBytes]" /> 
    </requestFiltering> 
    </security> 
    ... 
</system.webServer> 
+0

добавление maxAllowedContentLength = "4294967295" не имеет значения –

+0

Какова длина вашего запроса и какая длина обрезанного контента? –

+0

Это csv составляет 515 КБ, поэтому это размер, который достигает сервера, и примерно на 1/2 размера исходного запроса. (поэтому его не так уж много ...) –