Based on what you have described so far, the only explanation I can come up with is that the ELMAH modules and handler may have only been registered with <system.web> , which is why they are used in ASP.NET Development Server (Cassini). On the other hand, IIS Express expects these modules and the handler to be registered in <system.webServer> . The following is an excerpt from the web.config sample shipped with ELMAH 1.1 :
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules> <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> <add name="ErrorTweet" type="Elmah.ErrorTweetModule, Elmah" preCondition="managedHandler" /> </modules> <handlers> <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /> </handlers> </system.webServer>
source share