Comment définir par programmation de la Réponse.StatusCode différents de 200 OK dans ASP.NET d'Application et de servir le contenu de client avec succès?

Réglage Response.StatusCode = 404 ne sert pas de contenu ni sous IE8, ni Chrome? Il fonctionne sous Mozilla mais je trouve ça étrange!

Faire les choses les plus simples - vide asp.net projet d'application web avec vide par Défaut.page aspx. Dans l'événement Page_Load utiliser les éléments suivants:

protected void Page_Load( object sender, EventArgs e )
{
    Response.StatusCode = 404;
}

Effectivement cela définit le code d'état de la requête courante à 404, aucun doute à ce sujet. Lors du rendu sous IE8 ou Chrome, ou peut-être certains autres navigateurs aussi bien - je n'ai pas testé, la page ne veut pas s'afficher du tout. Ces navigateurs affichent par défaut erreur 404 pages (IIS par défaut, les messages d'erreur personnalisés). Exemple dans IE8:

The webpage cannot be found 
 HTTP 404  
   Most likely causes:
There might be a typing error in the address.
If you clicked on a link, it may be out of date. ... and so on ...

Ce que je veux vraiment faire est de servir de page d'erreur 404 avec erreur 404 code, qui fait dire au navigateur ou au robot, ou à quiconque que cette page n'existe pas - pas seulement pour montrer un peu de fantaisie message d'erreur personnalisé avec le message d'état de 200 OK.

À l'aide de fiddler montre que je suis en fait vraiment servir la demande, mais le navigateur est totalement l'ignorer?!

Ma question - comment puis-je mettre code d'état 404 et toujours de rendre le contenu de la page? Exemple - http://www.intel.com/invalidpage.wow. À l'aide de fiddler montre que cette page est servi avec code d'état 404.

OriginalL'auteur Ivan Zlatanov | 2009-09-24