Wie Sie programmgesteuert festlegen Response.StatusCode anders als die 200 OK ASP.NET Anwendung und dienen, Inhalte auf client erfolgreich?
Einstellung Response.StatusCode = 404
dienen nicht Inhalte unter, weder IE8 noch Chrome? Es funktioniert im Mozilla aber ich finde es seltsam!
Tun, die einfachsten Dinge - leer asp.net web-Anwendung-Projekt mit dem leeren Default.aspx-Seite. Im Page_Load-Ereignis, verwenden Sie die folgende:
protected void Page_Load( object sender, EventArgs e )
{
Response.StatusCode = 404;
}
Diese effektiv setzt den status-code der aktuellen Anforderung, 404, kein Zweifel. Beim Rendern unter IE8 oder Chrome, oder vielleicht einige andere Browser auch - habe ich noch nicht getestet, die eigentliche Seite nicht zeigen, bis überhaupt. Diese Browser zeigen Sie Ihre Standard-404-Fehler-Seiten (NICHT Standard-IIS custom-Fehler). Beispiel im 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 ...
Was ich wirklich tun wollen ist zwar dienen 404 Fehler-Seite mit 404 Fehler-code, die tatsächlich sagen, der browser oder crawler oder wer auch immer, dass diese Seite nicht existiert - nicht nur, um zu zeigen, einige fancy benutzerdefinierte Fehlermeldung mit status-Nachricht 200 OK.
Mit fiddler zeigt, dass ich bin eigentlich wirklich im Dienste der Anfrage, aber der browser ist vollkommen zu ignorieren?!
Meine Frage - wie kann ich die 404-status code und noch Rendern Inhalt der Seite? Beispiel - http://www.intel.com/invalidpage.wow. Mit fiddler zeigt, dass diese Seite wird serviert, mit 404 status-code.
InformationsquelleAutor der Frage Ivan Zlatanov | 2009-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standardmäßig der IE zeigen es die benutzerdefinierte Fehlerseite, wenn die Reaktion auf den Fehler ist weniger als eine konfigurierbare Anzahl. Ich glaube, die Höhe ist 512 bytes, aber ich werde versuchen zu finden eine gewisse Bestätigung. So alle Sie tun müssen ist, setzen Sie mehr Inhalt in Ihre Antwort.
EDIT: Diese blog-Beitrag beschreibt die Grenzen. Einer der Kommentare, zeigt der registry-key-Einstellungen für diese Werte ändern. Der Schlüssel ist:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\ErrorThresholds
InformationsquelleAutor der Antwort Daniel
Sie nicht dazu dienen, die Inhalte, legen Sie eine benutzerdefinierte Fehlerseite, die auf den web-server (IIS) oder im web.config in die Falle asp.net
InformationsquelleAutor der Antwort Rich