2013-08-17 11 views
12

Ich habe eine MVC-Website auf Azure. Ich habe eine Controller-Aktion geschrieben, die für eine Ressource steht, die HTTP 404 zurückgeben soll, aber der Body-Inhalt sollte etwas HTML sein, wo ich den Grund für die 404 erkläre. Dies wird als Standardaktion implementiert, die Response.StatusCode setzt. Dies funktioniert zwar lokal, aber bei der Bereitstellung in Azure erhalte ich keine benutzerdefinierte Ansicht, sondern nur eine Fehlermeldung im Nur-Text-Format. Ich habe <customErrors> auf Azure zum Debuggen entfernt, mit dem gleichen Ergebnis.404 Handhabung in Azure Website

Dies ist die rohe Reaktion, wenn auf Azure bereitgestellt erhalten:

HTTP/1.1 404 Not Found 
Cache-Control: private 
Content-Length: 103 
Content-Type: text/html 
Server: Microsoft-IIS/8.0 
X-AspNetMvc-Version: 3.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
X-Powered-By: ARR/2.5 
X-Powered-By: ASP.NET 
Date: Sat, 17 Aug 2013 17:24:19 GMT 

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

auch wichtig, wenn ich um die Strecke entfernen diese dient, erhalte ich eine Standard-.NET-404-Fehlerseite, so dass ich denke, meine benutzerdefinierte Aktion ist rennen. Die Aktion ist einfach:

Wie kann ich meine Ansicht gerendert bekommen, während HTTP-Status 404 auf Azure reagiert?

+1

@PKKG Das ist nicht ein Duplikat ist, Bei dieser Frage geht es nicht um customErrors (ich hatte customErrors aktiviert, aber sie wurden deaktiviert, um das Problem zu debuggen). – driis

+0

+1 für die Frage. Ich bin neugierig, den Weg zu kennen, 404 Fehler zu debuggen. und ich denke, ich habe zwei Vorschläge. Sie können das Ereignis request_End in der Datei Global.axax verwenden, und der zweite Vorschlag ist die Verwendung von Fiddler. –

+0

Wenn ich nur die Zeile lösche, die den Statuscode einstellt, bekomme ich die gewünschte Ansicht wie erwartet, aber (offensichtlich) mit einem 200 Statuscode. Ich habe die rohe Antwort von Fiddler erhalten – driis

Antwort

Verwandte Themen