2013-04-03 1 views
0

J'utilise le verbe PUT pour envoyer JSON à un contrôleur MVC. Quand j'atteins une certaine limite, j'obtiens une erreur de 500. Si je redimensionne le JSON que j'envoie, alors il envoie très bien ... Est-ce que quelqu'un sait d'une configuration dans le web.config qui permettra une plus grande quantité de JSON à passer à mon application?.NET MVC 4 JSON Post/Put char limite dans Web.config

+2

Quelle est la taille que vous postez où vous avez des problèmes? –

+0

Avez-vous des détails sur l'erreur réelle que vous obtenez sur le serveur? Journal du serveur? – Floremin

+0

Je ne vois aucun détail dans le journal du serveur ... – chrislhardin

Répondre

2

Voici la réponse ... Mon objet JSON était assez volumineux donc .NET ne le laisserait pas passer en raison d'une "caractéristique de sécurité" La valeur par défaut est 2000, donc je l'ai bumpé et cela a fonctionné parfaitement.

<add key="aspnet:MaxJsonDeserializerMembers" value="5000"/> 
0

Vérifiez la valeur maxRequestLength dans votre fichier web.config. Si les données dépassent maxRequestLength, 500 status est renvoyé.

<httpRuntime targetFramework="4.5" maxRequestLength="XXX" /> 

Remarque: si la propriété maxRequestLength n'est pas spécifiée. La valeur par défaut est 4MB.

Si cela ne fonctionne pas, essayez IIS Request Limits. La documentation indique cependant que le statut 404 devrait être retourné.

1

Approche - 1

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

Approche - 2

<location path="File Path or FileHandler.ashx"> 
    <system.web> 
    <httpRuntime executionTimeout="your value" maxRequestLength="Your value" /> 
    </system.web> 
</location> 

Grâce à cette approche, nous pouvons définir les limites de page spécifique et non pour l'application complète.

Approche - 3

<httpRuntime targetFramework="Your version" maxRequestLength="Your value" /> 

Grâce à cette approche, nous pouvons définir les limites pour l'application complète.

+0

Cela ne fonctionne pas ... Je les ai mis à max int. Si je coupe la taille JSON mais augmente la taille d'un champ dans le JSON, ça passe très bien, mais ça a quelque chose à voir avec la longueur JSON et pas le contenu lui-même ... – chrislhardin

+0

A travaillé pour nous ici, juste en utilisant Approach - 1. Notre scénario envoyait un objet JSON large-for-json (100KB +). – marquito