0
保存的用户名我使用这个过滤器登录HttpRequestValidationException在ELMAH:ELMAH不会HttpRequestValidationException
public class ElmahRequestValidationErrorFilter : IExceptionFilter
{
public void OnException(ExceptionContext context)
{
if (context.Exception is HttpRequestValidationException)
Elmah.ErrorSignal.FromCurrentContext().Raise(context.Exception.InnerException);
}
}
,我注册这个FilterConfig.cs筛选:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ElmahRequestValidationErrorFilter());
filters.Add(new HandleErrorAttribute());
}
}
但是,当这个错误发生,被验证的用户的用户名不会保存在用户列的elmah日志中。但在其他错误中,它的剂量工作正常。 我该如何解决这个问题?监守ELMAH从
Thread.CurrentPrincipal.Identity.Name
得到的用户名可以设置当前用户ELMAH记录错误之前ELMAH
是否记录了错误?我只是试图重新创建您的设置,但在我的情况下,用户名已成功记录。 – ThomasArdal
另请注意,ELMAH不支持引发null作为例外。这意味着如果InnerException为null,那么您的过滤器本身将引发异常,并且原始错误永远不会记录到您的ELMAH日志中。 – ThomasArdal
我试图context.Exception,但再次没有上升用户名... – BlackViking