2010-12-06 43 views
21

J'ai créé une page Web asp.net et l'ai téléchargée sur un serveur Web. Cependant lorsque j'essaie d'afficher la page à distance, j'obtiens des erreurs à propos de la balise customerror dans le fichier web.config. La page fonctionne localement sans erreurs ni avertissements. De plus, si je télécharge la page en tant que fichier .html, je peux l'afficher correctement à distance. J'ai vu beaucoup d'autres personnes avec cette erreur, mais les 'solutions' disent juste de changer la balise customErrors en 'Off', ce que j'ai fait et ne fonctionne pas, savez-vous s'il y a un problème avec le serveur web ou Quel pourrait être le problème ici?Asp.net - <customErrors mode = "Off" /> erreur lors de la tentative d'accès à la page Web active

Voici la page d'erreur:

Erreur du serveur dans l'application '/'. Erreur d'exécution Description: Une erreur d'application s'est produite sur le serveur. Les paramètres d'erreur personnalisés actuels pour cette application empêchent que les détails de l'erreur d'application soient vus à distance (pour des raisons de sécurité). Il pourrait cependant être visualisé par les navigateurs fonctionnant sur la machine du serveur local. Détails: Pour que les détails de ce message d'erreur spécifique soient visibles sur les machines distantes, veuillez créer une balise dans un fichier de configuration "web.config" situé dans le répertoire racine de l'application Web en cours. Cette balise> devrait alors avoir son attribut "mode" sur "Off".

<configuration> 
    <system.web> 
     <customErrors mode="Off"/> 
    </system.web> 
</configuration> 

Remarques: La page d'erreur actuelle que vous voyez peut être remplacée par une page d'erreur personnalisée par> modifier l'attribut « defaultRedirect » de> balise de configuration de l'application pour pointer vers une erreur personnalisée L'URL de la page.

<configuration> 
    <system.web> 
     <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> 
    </system.web> 
</configuration> 

Et voici mon fichier web.config:

<?xml version="1.0"?> 
<configuration> 

    <system.web> 
    <customErrors mode="Off"/> 
    </system.web> 

    <system.web> 
    <compilation debug="true"/> 
    <authentication mode="None"/> 
    </system.web> 
</configuration> 
+0

@jvanrhyn a probablement trouvé votre problème. Sinon, vérifiez: http://stackoverflow.com/questions/2830361/custom-error-mode-in-web-config-file – PHeiberg

+0

J'ai la page fonctionnant à distance, il y a 2 fichiers web.config, je changeais le mauvais dans le dossier 'compte'. J'aurais dû changer celui dans le répertoire racine du projet, mais stupidement je ne l'ai pas vu. jvanrhyn a également raison à propos de l'étiquette , merci. – bobby123

Répondre

39

que vous devriez avoir un <system.web> dans votre fichier de configuration.

<system.web> 
    <customErrors mode="Off"/> 
    <compilation debug="true"/> 
    <authentication mode="None"/> 
    </system.web> 
</configuration> 
+8

Notez également que le "Off" est sensible à la casse, comme je viens de le découvrir après 20 minutes d'essayer de résoudre le même problème –

-1

Dans l'avenir commentaire le code suivant dans web.config

<!--<system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> 
     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> 
    </compilers> 
    </system.codedom>--> 

mise à jour le le code suivant.

<system.web> 
    <authentication mode="None" /> 
    <compilation debug="true" targetFramework="4.6.1" /> 
    <httpRuntime targetFramework="4.6.1" /> 
    <customErrors mode="Off"/> 
    <trust level="Full"/> 
    </system.web> 
+0

Pourquoi suggéreriez-vous de changer la version du framework .NET ou le mode d'authentification? Qu'est-ce que cela a à voir avec la résolution du problème? – mason