1

Je suis en train de tester un HttpHandler qui accepte XML. Cela fonctionne bien quand une petite quantité de données est postée mais si je poste des données plus grandes que approximativement 29mb, j'obtiens une erreur d'asp.net 404.Publier des données dans un HttpHandler supérieur à ~ 29 Mo donne une erreur 404

Je signale au gestionnaire d'un autre gestionnaire dans le même projet et j'ai essayé 2 méthodes - 1. HttpWebRequest avec « POST » 2. WebClient avec UploadFile() et UploadData()

Je reçois la même erreur 404 lorsque les données affichées sont supérieures à 28,6 Mo.

J'ai également essayé de placer un point d'arrêt directement au début du gestionnaire de réception et du débogage. Il n'est jamais frappé. Apparaît comme le gestionnaire n'a jamais été appelé. Fonctionne bien pour les données de plus petite taille.

J'ai déjà le réglage suivant. Qu'est-ce que je fais mal?

<httpRuntime maxRequestLength="1048576" /> 

EDIT: J'ai aussi essayé de poster à un autre gestionnaire qui ne marche pas consommer les données affichées, juste pour tester, mais les résultats sont les mêmes. Environnement: Windows 7, IIS 7.5, .NET 3.5, VS 2008 alt text http://img401.imageshack.us/img401/4099/errormr.png

+1

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx –

+0

Je l'ai déjà configuré high - maxRequestLength = "1048576" –

+0

Téléchargez-vous un fichier ou publiez-vous une page? –

Répondre

3

J'ai découvert que le problème est avec IIS 7 et au-dessus. Il nécessite que la longueur maximale de la requête soit définie dans un endroit différent.

Voir les liens suivants -

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22943810.html

http://msdn.microsoft.com/en-us/library/ms689462%28VS.90%29.aspx

La valeur par défaut est 30000000. qui est 28.6mb. La bonne façon de mettre en web.config est -

<system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="1073741824"></requestLimits> 
     </requestFiltering> 
    </security> 
    </system.webServer> 

Cette configuration effacé l'erreur que je recevais. Je souhaite que les erreurs signalées soient plus descriptives, au moins sur les machines locales

Est-ce que cela signifie que le réglage < httpRuntime maxRequestLength = "1048576"/> est suffisant pour IIS 6? (le serveur live est win2003)

+0

Décrit plus en détail http://weblogs.asp.net/jeffwids/archive/2009/09/24/from-iis6-maxrequestlength-to-iis7-maxallowedcontentlengthfile-specifying-maximum-file- upload-size.aspx –

2

Essayez d'ajouter cette section au fichier web.config:

<location path="YourHandler.aspx"> 
    <system.web> 
     <httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> 
    </system.web> 
</location> 

chemin gestionnaire en supposant est YourHandler.aspx.

Questions connexes