ERR_CONNECTION_RESET: La connexion a été réinitialisée lors du téléchargement d'un fichier volumineux
J'ai eu une mystérieuse de l'erreur un fichier de plus de 4 MO généré une erreur aléatoire. Plus tard, j'ai réalisé que c'était dû à la http maxrequestlength
. Une image ne peut pas être supérieure à 4 mo lors du téléchargement par défaut.
Je sais que cela peut changer à partir du web.fichier de configuration.
Quand j'ai essayé de répondre à cette erreur, par l'affichage d'une autre page, une autre erreur qui a commencé à apparaître. Lors du débogage, le programme entre dans application_error immédiatement.
Lors de l'exécution de Server.GetLastError()
Exception générée:
[Système.Web.HttpUnhandledException] {"Exception de type
'Système.Web.HttpUnhandledException " a été
jetés."} Système.Web.HttpUnhandledExceptionla trace de la pile: au Système.Web.L'INTERFACE utilisateur.Page.HandleError(Exception e) à
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
au Système.Web.L'INTERFACE utilisateur.Page.ProcessRequest(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
au Système.Web.L'INTERFACE utilisateur.Page.ProcessRequest() à
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestWithNoAssert(HttpContext contexte) à
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequest(HttpContext contexte) à
ASP.businessprofile_aspx.ProcessRequest(HttpContext contexte)
c:\Users\Mattew\AppData\Local\Temp\Temporary ASP.NET
Files\root\4ea30077\8f66786f\App_Web_h5fmhavk.4.cs:la ligne 0 à
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
au Système.Web.HttpApplication.ExecuteStep(IExecutionStep étape,
Boolean& completedSynchronously)
Si j'essaie de n'importe quel code à l'intérieur de la méthode application_error, par exemple de redirection, toujours la page d'erreur:
Erreur 101 (net::ERR_CONNECTION_RESET): La connexion a été réinitialisée.
est affiché.
Questions
-
Comment doit cette erreur seront-ils traités? Peut-il être manipulés à la main? Si cette erreur n'est pas affiché? ( J'ai essayé d'utiliser jquery pour obtenir la taille du fichier avant et de le vérifier mais je trouve ça trop complexe
-
Si la Question 1 n'est pas "responsable", est-il un moyen pour intercepter cette erreur et afficher un message d'erreur?
Ce que signifie exactement s'il vous plaît? est-ce un problème de mon code ou de l'IIS? Je ne pense pas que j'ai même utiliser IIS, depuis que je viens de frapper exécuter sur Visual Studio et un serveur temporaire est commencé!
Vous voulez dire que vous êtes à l'aide de la sonde Cassini. Je ne suis pas sûr. Quel est l'exception interne?
Sry je ne sais pas ce que Cassini :/ Intérieure Exception: le Maximum de la Longueur nécessaire Dépassé
OriginalL'auteur test | 2011-11-14
Vous devez vous connecter pour publier un commentaire.
Essayer.
Sous système web dans le web.config
ajouter cette ligne..
Alors vous devez vérifier la taille du fichier
Si vous le trouvez utile, s'il vous plaît marquer en tant que votre réponse sinon laissez-moi savoir..
J'ai essayé ta suggestion, il ne fonctionne pas depuis le maxRequestlength est très grand. J'ai fait des recherches de ce. mais encore, si un utilisateur passe quelque chose de plus grand que la maxRequestLength, ce qui va se passer (même si cela est très rare d'arriver), il est encore comme une "déviation" de la part du développeur. n'est-il pas plus propre façon de le faire? PS je ne suis pas d'utiliser asynchrone d'upload de fichier, dois-je utiliser à la place?
Avec l'approche proposée par @AnandMohanAwasthi est en fait un gaspillage de ressources. Vous permettez à l'utilisateur de télécharger un énorme fichier, puis sur le serveur, vous rejeter, car il est plus grand que votre limite inférieure vous avez dans le code. Je suis moi-même à la recherche d'une meilleure solution, mais fortement sentir la solution proposée est une mauvaise solution.
OriginalL'auteur AnandMohanAwasthi