2012-10-05 23 views
5

Por lo tanto, sigo obteniendo la página 500 - Error interno del servidor en mi sitio .net cuando configuro maxJsonLength en mi web.config.configuración jsonSerialization maxJsonLength en ASP.net Web.Config da error 500

Estoy modificando el .config porque aunque utilizo MaxJsonLength = Int32.MaxValue en mi vb.net JavaScriptSerializer, sigo obteniendo InvalidOperationException para un diccionario grande que intento transmitir a pesar de que está muy por debajo del 4 GB MaxJsonLength @ Int32.MaxValue permite o incluso el supuesto límite predeterminado de 4 MB.

Estoy usando toolkitscriptmanager si eso significa algo.

<system.web.extensions> 
<scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="2147483647"/> 
    </webServices> 
</scripting> 

esto no ayudó (en realidad, sino que también da error 500 sin el código de seguridad)

<sectionGroup name="system.web.extensions" type="System.Web.Extensions"> 
    <sectionGroup name="scripting" type="System.Web.Extensions"> 
    <sectionGroup name="webServices" type="System.Web.Extensions"> 
     <section name="jsonSerialization" type="System.Web.Extensions"/> 
    </sectionGroup> 
    </sectionGroup> 
</sectionGroup> 

oyó esto debería ayudar con InvalidOperationException, pero no lo hicieron. Lo saqué, y aún 500 error.

<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" /> 

¡Muchas gracias de antemano!

Editar

mismo problema, pero su solución no funciona para mí. El último código que agregó también da 500 de error. Problem with <system.web.extensions> config group when upgrading to .NET 4.0

+0

si lo inspecciona Firebug of Chrome ¿aparece un mensaje de error en la respuesta con el 500? qué le hace pensar que el error es causado por el tamaño de la respuesta, hay muchas otras razones para el error 500 –

+0

Gracias por responder. No proporciona detalles en el encabezado de respuesta, y la respuesta es solo la típica página de error .net 500.El error aparece cuando coloco la línea jsonSerialization maxJsonLength. Si la saco, todo está bien, excepto que no puedo obtener los JSON supergrandes que necesito. –

+0

raro, uso en mi código todo el tiempo en web.config tal como lo hizo sin ningún problema, ¿está en ? –

Respuesta

5

El problema para mí fue que puse el código al comienzo de la web.config. Por alguna razón, ponerlo al final funcionó.

No soy un experto, así que no tengo idea de por qué funcionó.

Funcionó sin las dos últimas secciones de código que traté de hacerlo funcionar.

2

estaba de acuerdo con Graco, a continuación pongo este bloque en el final del archivo web.config

<system.web.extensions> 
    <scripting> 
     <webServices> 
      <jsonSerialization maxJsonLength="2147483647"/> 
     </webServices> 
    </scripting> 
</system.web.extensions>` 
+0

Asegúrese de que .ajax() llamada sincronización: verdadero (intentos duplicados de llamada pueden terminar su solicitud) –

+0

¿Quiere decir al final del nodo 'configuración'? –

1
<system.web.extensions> 
    <scripting> 
     <webServices> 
     <!--<jsonSerialization maxJsonLength="50000000"> 
     </jsonSerialization>--> 
     <jsonSerialization maxJsonLength="500000000"> 
      <!--50000000--> 
     </jsonSerialization> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 

ajustes anteriores trabajaron para mí. Además, tuve que establecer el marco de destino del sitio web en .Net 4.0. Esta configuración web.config me estaba dando error 500 cuando el marco de destino se establece en .NET 2.0

Para cambiar el marco, ir a IIS y seleccione grupo de aplicaciones Haga clic derecho sobre el nombre del sitio web y seleccione Configuración avanzada . Aquí puede cambiar la versión de .Net Framework haciendo clic en el menú desplegable.

También tuve esta configuración en la parte inferior de la configuración web. Sólo para la buena suerte :)

Espero que esto ayude.

Cuestiones relacionadas