¿Qué sucede entre hacer clic en un botón y ejecutar el método Javascript?

Tengo una aplicación web ASP.NET que usa MVC 4, jquery y los controles Kendo de Telerik.

Tengo lo siguiente en mi página web:

<input id="cmdSaveToFile" title="Save To File" class="button" type="button" value="Save To File" onclick="SaveToFile();" tabindex="2" />

Sin embargo, si establezco un punto de interrupción en mi archivo Javascript dondeSaveToFile() está definido, el punto de interrupción no es alcanzado. Se supone que este método envía una solicitud ajax al servidor que luego creará un archivo y lo almacenará en una variable de sesión para descargarlo más tarde.

Los registros de error en el servidor citan este error:

Error durante la serialización o deserialización con JSON JavaScriptSerializer. La longitud de la cadena excede el valor establecido en la propiedad maxJsonLength.

He mirado estas preguntas SO para ese error específico:

Excepción MaxJsonLength en ASP.NET MVC durante JavaScriptSerializer

¿Puedo establecer una longitud ilimitada para maxJsonLength en web.config?

He agregado el contenido de la respuesta aceptada a mi web.config pero eso no solucionó el problema. No puedo configurar programáticamenteJsonResult.MaxJsonLength propiedad porque no tengo idea de lo que está sucediendo entre hacer clic en el botón y el método que especifiqué en el archivo de vista desde la ejecución real. Usando Visual Studio + IE no puedo romper en ningún lado; no en el controlador y no en el JS.

Si uso Chrome, en los "Puntos de interrupción del oyente de eventos" de sus herramientas de desarrollo, puedo hacer que se rompa con el mouse arriba / abajo / clic, pero todo el jquery que se ejecuta es completamente ilegible para mí. ¿Qué podría estar haciendo bajo el capó que causaría este error?

Editar Para aclarar, la página web en cuestión simplemente contiene un cuadro de texto y 2 botones: Guardar en archivo y Cerrar. Si hace clic en Guardar en archivo, el software escribe el contenido del cuadro de texto en un archivo RTF y presenta el archivo al usuario para su descarga. Este cuadro de texto contiene un informe de error después de haber subido un archivo e intentado analizarlo. Si subo y analizo un archivo pequeño, se comporta correctamente. Es solo cuando subo archivos muy grandes que crean una gran cantidad de errores que esto ya no funciona (porque el informe de error es demasiado largo para JSON) ... Pero si mi punto de interrupción enSaveToFile() no se activa entonces qué demonios está haciendo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta