Mam aplikację internetową MVC 2, która zbliża się do wydania. Do tej pory miałem wyłączone błędy niestandardowe, ale chciałbym, aby zadziałały, gdy będę gotowy do produkcji.HandleErrorInfo przy użyciu MVC2 - Model jest pusty?
mam skonfigurować web.config z następujących czynności:
<customErrors mode="On" defaultRedirect="/Error/">
<error statusCode="404" redirect="/Error/NotFound "/>
</customErrors>
404 z nich działa doskonale i NOTFOUND jest działaniem, które odwzorowuje bezpośrednio do widoku, który tylko pokazuje dość standardową stronę 404 używając mojego własny plik Site.Master.
do niczego innego niż 404, chcę użytkownika, aby móc zobaczyć szczegóły wyjątków. (Jest to aplikacja wewnętrzna i nie ma ryzyka związanego z bezpieczeństwem).
Domyślna akcja Error
Index
jest ustawiona tak, aby zwróciła zdefiniowaną przez mnie funkcję View(). Czego nie mogę zrozumieć, to jak przekazać informacje o wyjątku do widoku?
To wyglądało obiecująco:
http://devstuffs.wordpress.com/2010/12/12/how-to-use-customerrors-in-asp-net-mvc-2/
Ale kiedy używam widok z:
<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/Bootstrap.Master"
Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
Sama strona błędu zgłasza błąd, jak HandleErrorInfo jest null. Oczywiście błąd w niestandardowym błędzie powoduje, że MVC2 ma cały szereg problemów, a wynikiem jest żółty ekran śmierci.
Zgaduję, że albo coś pominąłem w blogu, albo nie wyjaśnia, jak sprawić, aby HandleErrorInfo było niczym innym niż zerą bez ustawiania atrybutu Error dla każdego z moich kontrolerów/akcji.
Ponadto, mam świadomość, że oferty MVC3 z tym lepiej i jestem świadomy Razor jest bardzo dobra. Nie został użyty w tym projekcie ani projekt ten nie zostanie zmieniony, aby go użyć. Więc proszę nie odpowiadaj "Użyj MVC3".