2014-07-17 3 views
5

Je ne parviens pas à capturer l'exception et achemine la demande au gestionnaire 404 lorsque l'URL de l'application se termine par '/'. J'ai ajouté la gestion des exceptions dans la méthode Application_Error dans global.asax, mais ce point d'arrêt n'est jamais touché. J'ai également des erreurs personnalisées dans le fichier web.config.Erreur de serveur lorsque l'URL se termine par '/'

Remarque: Je vois la même erreur avec les sites web msdn.

Exemple:

Comment puis-je gérer ces exceptions au niveau de l'application et afficher une page d'erreur personnalisée?

Message d'erreur en cas d'erreur personnalisés est désactivée

Error message when custom Errors is turned off

+1

Même comportement [http://msdn.microsoft.com/ /](http://msdn.microsoft.com/%20/) sans guillemets. – Vache

+1

Même chose sur SO [https://stackoverflow.com/ /](https://stackoverflow.com/%20/) :) Lorsque vous désactivez les erreurs personnalisées à quoi cela ressemble-t-il? – Vache

+0

Erreur de configuration Description: Une erreur s'est produite lors du traitement d'un fichier de configuration requis pour traiter cette demande. Veuillez consulter les détails d'erreur spécifiques ci-dessous et modifier votre fichier de configuration de manière appropriée. Message d'erreur de l'analyseur: Il est erroné d'utiliser une section enregistrée comme allowDefinition = 'MachineToApplication' au-delà du niveau de l'application. Cette erreur peut être provoquée par un répertoire virtuel n'étant pas configuré en tant qu'application dans IIS. –

Répondre

0

S'il vous plaît vérifier si vous avez ajouté le customErrors dans votre fichier correctement Web.config.

J'ai utilisé la configuration suivante et cela fonctionne très bien.

<system.web> 

    <customErrors defaultRedirect="/Error/InternalServerError" mode="On"> 
     <error redirect="/Error/NotFound" statusCode="404" /> 
     <error redirect="/Error/InternalServerError" statusCode="500" /> 
    </customErrors> 

    ... 

Par ex http://coursenet.lk/ /

Merci!

0

Oui, mon application est correcte. Je suis désolé, je suis incapable d'exposer mon URL de site de production. Cependant, vous devez configurer votre pool d'applications pour qu'il soit intégré et non classique. Je suppose que vous utilisez le dernier IIS.

En outre, vous avez besoin de mettre l'erreur personnalisée dans le system.web.server, par exemple:

<system.webServer> 
... 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404" subStatusCode="-1" /> 
     <error statusCode="404" prefixLanguageFilePath="" path="/ErrorPage_404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
... 
</system.webServer> 

Hope it helps. Merci.

Questions connexes