¿Límite de tamaño de parámetro de controlador genérico?
Tengo un código JavaScript que genera una secuencia de comandos muy larga y que lo publica de nuevo en el servidor a un controlador genérico para crear un csv.
Mi código de JavaScript para enviar los datos es:
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);
}
En mi consola puedo ver que toda la cadena se agrega al formulario ("console.log (k + ':' + p [k])", por lo que el lado del cliente parece funcionar bien.
En la vista de red donde examino la solicitud / respuesta puedo ver que el "Contenido" (el nombre del atributo de datos del formulario) no está completo, se corta en el medio.
El lado del servidor es muy simple: devuelve el contenido como 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;
}
}
}
MI conjetura es que el servidor necesita ser configurado de alguna manera para permitir publicaciones más grandes ...