2014-06-09 6 views
7

Sto tentando di restituire un codice di stato 404 con la mia pagina di errore personalizzata. Tuttavia continuo a ricevere 200, poiché la pagina è effettiva fino a che il browser e il server possono dirlo.Restituzione di una pagina 404 personalizzata con 405 statuscode in MVC?

Quello che ho cercato finora è:

<customErrors mode="On" defaultRedirect="~/404" > 
    <error statusCode="404" redirect="~/404"/> 
</customErrors> 

dove 404 è un percorso verso la "pagina non trovata" controller e azione.

ho anche cercato di impostare lo statuscode con la mia azione in ..

public ActionResult PageNotFound(string locale) 
{ 
    Response.StatusCode = 404; 
    return View(); 
} 

Ma che finisce semplicemente con la visualizzazione della pagina di errore predefinita del server (quello grigio-ish con il testo del messaggio di errore rosso)

Qualche idea su come aggirare questo?

+0

E ' sembra che la tua domanda possa già avere una risposta qui: http: // stackove rflow.com/questions/5635114/returning-404-error-asp-net-mvc-3 –

risposta

7

Ho avuto lo stesso problema e la soluzione è pubblicato here:

public ActionResult NotFound() 
{ 
    Response.StatusCode = 404; 
    Response.TrySkipIisCustomErrors = true; <--- 
    return View(); 
}