如何在Elmah中登录用户,这是在Web Api中实现的

本文关键字:Web Api 实现 用户 Elmah 登录 | 更新日期: 2023-09-27 18:12:36

我已经在webapi应用程序中使用 elmah .contrib.webapi实现了elmah。我的移动应用程序正在使用该Api,它工作得很好。我的问题是,我得到用户字段空。如何将用户名或id记录到Elmah Error_Table.

如何在Elmah中登录用户,这是在Web Api中实现的

ELMAH用Thread.CurrentPrincipal.Identity.Name的值填充User字段。大多数身份框架在用户登录时设置当前主体。

您使用的是哪种身份验证?

作为重新编译Elmah的替代方法,我们可以使用一个全局方法,该方法在调用Elmah之前填充Thread.CurrentPrincipal.Identity.Name。

        public static void LogError(Exception exception, string username)
        {
            Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(username), new string[] {});
            Elmah.ErrorSignal.FromCurrentContext().Raise(exception);
        }