开发者

Enable Yellow Screen of Death on MVC 3

I had to take over an MVC 3 project from another developer. One of the first things he did was to stop the yellow screen of death so that all exceptions are only logged to a file. You now only get a generic message saying an error has occurred.

I would like to switch it back on (since it gets really annoying having to check through the logfiles the whole time) - how do I do this.

I check开发者_开发技巧ed through the web.config but I can't see where this happens.

I did try doing customerrors=off, but that didn't do anything. Also removed the global error handling attribute, didn't do anything.

On further clarification, it seems if an exception occurs in a controller I do get the yellow screen of death, but if it occurs in a (razor) view I just get a standard generic error.

You can see the web.config here You can see the global.asax here


This question is a little old, but maybe this will help someone. In addition to setting <customerErrors mode="Off" />, also set this under <system.webServer>: <httpErrors errorMode="Detailed" />

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


Normally you set this in web.config in the customErrors element under system.web. Just try to set mode=Off:

<customErrors mode="Off" />


In Global.asax you can remove filters.Add(new HandleErrorAttribute()); from public static void RegisterGlobalFilters(GlobalFilterCollection filters).

As pointed out in the comments - the problem was with a Custom Base controller overriding the OnException Method.


None of this worked for me. Check if someone might have added code to clear the error in the application error event handler.

    protected void Application_Error(object sender, EventArgs e)
    {
        Exception lastException = Server.GetLastError().GetBaseException();

        Log.Error("Global.asax: WebApplication error", lastException);

        //****Server.ClearError();
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜