I ont les paramètres suivants dans mon web.config:filtrage ELMAH ne fonctionne pas
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
</sectionGroup>
</configSections>
<elmah>
<security allowRemoteAccess="0" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="MyConnHere" />
</elmah>
<system.web>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
</httpModules>
</system.web>
et suivants dans mon fichier global.asax:
public void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
Filter(e);
}
public void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{
Filter(e);
}
private void Filter(ExceptionFilterEventArgs e)
{
var context = e.Context as HttpContext;
if (context != null && context.Response.StatusCode == 404)
e.Dismiss();
if (e.Exception.GetBaseException() is FileNotFoundException ||
e.Exception.GetBaseException() is HttpRequestValidationException)
e.Dismiss();
}
Et pourtant, à chaque fois, les journaux Elmah 404 exceptions. J'utilise ASP.NET MVC; ils apparaissent en tant que type System.Web.HttpException, pas l'exception FileNotFound, mais le code d'état est toujours 404 et le filtre doit correspondre, mais il ne semble pas fonctionner du tout.
Qu'est-ce que je fais mal?
Il s'avère que le code d'état indique 200 ... pourquoi? – Chris
Le code d'état de réponse est 200, mais l'exception se lit comme suit: "Une méthode d'action publique" Register3 "n'a pas pu être trouvée sur le contrôleur" controllernamehere "." – Chris