2010-07-19 13 views
5

Mam zestaw niestandardowych błędów w pliku konfiguracyjnym internetowej następująco:customErrors ASP.NET z mode = RemoteOnly Global.asax i obsługi wyjątków

<customErrors mode="RemoteOnly" defaultRedirect="GenericError.aspx" /> 

cacy ... Lubię ten tryb = "RemoteOnly "ułatwia rozwój ...

dla nieobsłużonych wyjątków, mam w global.asax:

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Redirect("GenericError.aspx") 
End Sub 

jednak nieobsłużone wyjątki idą do ogólnej strony błędu zamiast informacyjnym żółtych s creen śmierci preferowany przez programistów. Mogę skomentować przekierowanie w pliku global.asax, ale muszę pamiętać, aby zmienić go w środowisku produkcyjnym. Czy istnieje sposób mogę sprawdzić Application_Error, czy jestem zdalny, czy nie określić, czy przekierować?

Odpowiedz

3

Nie potrzebujesz Response.Redirect w pliku Global.asax. Duplikuje zachowanie tagu <customErrors>. Program RemoteOnly udzieli użytkownikom końcowym niestandardowego komunikatu o błędzie, a lokalni usługodawcy otrzymają standardową stronę błędu asp.net. Jeśli twoi programiści korzystają z lokalnego serwera WWW do rozwoju, masz oba w jednym.

Innym rozwiązaniem jest ustawienie <customErrors> na Off na serwerach programistycznych i ustawienie go na On w środowisku produkcyjnym. Zwykle w web.config jest wiele elementów, które wymagają zmiany, więc nie jest to żadną trudnością.

+0

Masz rację, musiałem mieć pierdnięcie mózgu, bo nie rozumiem! – harrije

0

Nie powinieneś nawet potrzebować linii w Application_Error, jeśli masz zestaw defaultRedirect w twoim web.config.

Powiązane problemy