2013-11-22 17 views
8

Sono state configurate pagine di errore personalizzate su un sito Web ASP.NET.Errori personalizzati di IIS che non mostrano la pagina di errore personalizzata

C'è un errore che non mostra una pagina di errore personalizzata e mostra solo la solita pagina gialla di errore ASP.NET. Se gli errori personalizzati sono attivati, mostra "Errore server in/applicazione"/"Errore di runtime", ma se gli errori personalizzati sono disattivati ​​mostra l'errore "validation of viewstate mac failed".

Le parti rilevanti del mio web.config sono:

<system.web> 
    <compilation debug="false" targetFramework="4.0" /> 
    <customErrors mode="On" redirectMode="ResponseRewrite"> 
     <error statusCode="404" redirect="/404.aspx" /> 
     <error statusCode="500" redirect="/500.aspx" /> 
    </customErrors> 

<system.webServer> 
    <httpErrors errorMode="DetailedLocalOnly" /> 

Per intercettare questo errore devo utilizzare un codice di stato diverso o substatuscode o c'è qualcos'altro?

NB. Server 2008 R2, IIS 7.

+0

CustomErrors ha un attributo DefaultRedirect. Prova a impostarlo anche sul tuo 500.aspx. – Mark

+0

Ciao @ Mark, l'ho provato ma non ha fatto alcuna differenza. Grazie. – johna

+0

In realtà è l'ultima riga con 'DetailedLocalOnly' che impedisce la visualizzazione della pagina personalizzata. – Marc

risposta

13

Dopo ulteriori ricerche, vedo che questo significa che IIS sta visualizzando l'errore anziché ASP.NET.

Ho modificato la parte system.webServer del mio web.config in modo che IIS possa anche usare la pagina di errore personalizzata e che abbia risolto il problema.

<system.webServer> 
    <httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="500" subStatusCode="-1" /> 
    <error statusCode="500" subStatusCode="-1" responseMode="ExecuteURL" path="/500.aspx" /> 
    </httpErrors> 
+0

Ho avuto lo stesso problema durante l'implementazione del middleware "Owin" – Ramakrishna

Problemi correlati