How do I go about the [HandleError]
filter in asp.net MVC Preview 5?
I set the customErrors in my Web.config file
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
and put [HandleError] above my Controller Class like this:
[HandleError]
public class DSWebsiteController: Controller
{
[snip]
public ActionResult CrashTest()
{
throw new Exception("Oh Noes!");
}
}
Then I let my controllers inherit from this class and call CrashTest() on them.
Visual studio halts at the error and after pressing f5 to continue, I get rerouted to Error.aspx?aspxerrorpath=/sxi.mvc/CrashTest (where sxi is the name of the used controller.
Off course the path cannot be found and I get "Server Error in '/' Application." 404.
This site was ported from preview 3 to 5.
Everything runs (wasn't that much work to port) except the error handling.
When I create a complete new project the error handling seems to work.
Ideas?
--Note--
Since this question has over 3K views now, I thought it would be beneficial to put in what I'm currently (ASP.NET MVC 1.0) using.
In the mvc contrib project there is a brilliant attribute called "RescueAttribute"
You should probably check it out too ;)
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…