Błąd uchwytu ASP.NET MVC
Jak mogę przejść do[HandleError]
filtr w asp.net MVC Preview 5?
Ustawiłem customErrors w moim pliku Web.config
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
i umieść [HandleError] powyżej mojej klasy kontrolera w następujący sposób:
[HandleError]
public class DSWebsiteController: Controller
{
[snip]
public ActionResult CrashTest()
{
throw new Exception("Oh Noes!");
}
}
Następnie pozwalam moim kontrolerom dziedziczyć z tej klasy i wywoływać na nich CrashTest (). Visual studio zatrzymuje się przy błędzie i po naciśnięciu f5, aby kontynuować, przekierowuję do Error.aspx? Aspxerrorpath = / sxi.mvc / CrashTest (gdzie sxi to nazwa używanego kontrolera. Oczywiście nie można znaleźć ścieżki i otrzymuję „Błąd serwera w” / „Aplikacja”. 404.
Ta strona została przeniesiona z podglądu 3 do 5. Wszystko działa (nie było zbyt wiele pracy z portem) z wyjątkiem obsługi błędów. Kiedy tworzę kompletny nowy projekt, obsługa błędów wydaje się działać.
Pomysły?
--Uwaga--
Ponieważ to pytanie ma teraz ponad 3 tysiące wyświetleń, pomyślałem, że korzystne będzie umieszczenie w tym, co aktualnie (ASP.NET MVC 1.0) używa. wprojekt mvc contrib istnieje genialny atrybut o nazwie „RescueAttribute”.