in ASP.NET

Elmah and MVC 3 Error Handling

I came into an issue where I have Elmah configured on a ASP.NET MVC 3 website. I notice that the errors were not getting logged or emailed as per my configuration settings in web.config.
I found that MVC3 Error Handling was handling all the errors before Elmah could handle the error and report it correctly.

This link was very helpful:

http://thecodersperspective.posterous.com/how-to-get-elmah-and-mvc3-error-handling-to-p

Also when using Elmah on a production environment, its a good idea to lock down the permissions for the elmah.axd handler so only users in a particular role have access to this file. (Assuming that your website is using forms authentication and role provider)

1
2
3
4
5
6
7
8
 <location path="elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Administrators" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

And also make sure that this setting is set to false so its not available to remote users.

1
<security allowRemoteAccess="0" />