404 Handhabung in Azure-Website

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 Textinhalt sollte HTML-Code sein, in dem der Grund für die 404 erläutert wird. Dies ist eine Standardaktion, die festgelegt wirdResponse.StatusCode. Dies funktioniert zwar lokal einwandfrei, aber bei der Bereitstellung in Azure wird meine benutzerdefinierte Ansicht nicht angezeigt, sondern nur eine Fehlermeldung im Nur-Text-Format. Ich bin umgezogen<customErrors> auf Azure für das Debuggen mit dem gleichen Ergebnis.

Dies ist die unformatierte Antwort, die bei der Bereitstellung in Azure empfangen wird:

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.

Wichtig ist auch, dass beim Entfernen der Route, auf der diese bereitgestellt wird, eine standardmäßige .NET 404-Fehlerseite angezeigt wird. Ich schätze, dass meine benutzerdefinierte Aktion ausgeführt wird. Die Aktion ist einfach unkompliziert:

    [HttpGet]
    public ActionResult LegacyMedia(string originalUrl)
    {
        ViewBag.OriginalUrl = originalUrl;
        return new ViewResult404() {ViewName = "LegacyMedia"};
    }

    public class ViewResult404 : ViewResult
    {
        public override void ExecuteResult(ControllerContext context)
        {
            context.HttpContext.Response.StatusCode = (int) HttpStatusCode.NotFound;
            base.ExecuteResult(context);
        }
    }

Wie kann ich meine Ansicht rendern, während ich auf Azure auf HTTP-Status 404 antworte?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage