2010-09-20 5 views
17

Je veux simuler cette erreur afin que je puisse vérifier qu'une page d'erreur générique est affichée, pas celle du HTTP 500, à la lumière de la récente faille de sécurité.Comment simuler une erreur HTTP 500 sur mon application ASP.NET?

Nous incluons un traitement spécial dans le site lui-même pour 404 et 403 donc je veux m'assurer que les erreurs sans traitement spécial fonctionnent aussi.

Répondre

26
throw new Exception(); 

Cela va générer un HTTP 500

+0

C'était exactement ce que je vais dire (: –

+1

Moi aussi :) nous battre à elle! –

+1

Merci beaucoup, cela a parfaitement fonctionné. – ger

3

Je pense que vous pouvez le faire en remplaçant init la page et en ajoutant le code 500 d'état à la réponse comme ce qui suit:

protected void Page_Init(object sender, EventArgs e) 
{ 
    Response.Clear(); 
    Response.StatusCode = 500; 
    Response.End(); 
} 

Amusez-vous!

+1

Got statusCode de 200 avec un message d'erreur lors de l'utilisation = throw new Exception() Succeed en remplaçant le code d'état directement par le code = Response.StatusCode = 500 –

+0

puis-je utiliser this 'return new HttpStatusCodeResult (500);' – Unbreakable

-2

Ceci génère un code d'erreur http personnalisé dans l'ASP classique.

<%@language=Jscript%> 

<% 
    Response.Status = "996 TerraNova GeoWeb Internal Server Error"; 
    Response.End; 
%> 
0

Vous pouvez rompre le fichier web.config. Mettez une étiquette malformé pour les tests

0

Voici une façon de le faire sans modifier votre site de quelque façon que:

  1. À partir de votre navigateur Web, ouvrez une page sur votre site qui a une forme de publication.
  2. Appuyez sur F12 pour ouvrir les outils de développement.
  3. Dans l'onglet HTML, recherchez __VIEWSTATE et modifiez la valeur de quelque manière que ce soit.
  4. Poster à la forme

Cela entraînera une "validation de MAC viewstate a échoué" Exception ASP.Net, qui retourne une erreur 500 serveur interne code de réponse HTTP.

La rupture du fichier web.config avec une balise mal formée fonctionne également, mais elle ne fonctionne pas si vous essayez de tester certains paramètres dans votre fichier web.config (comme le suivi des demandes ayant échoué).

+0

puis-je utiliser 'return new HttpStatusCodeResult (500);' – Unbreakable

Questions connexes