You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET IIS环境下为New Relic添加自定义User Id属性

问题解答

自定义UserId属性支持情况

完全可以添加UserId作为自定义属性。New Relic .NET Agent 原生支持注入自定义属性,注入的属性会自动绑定到当前请求对应的事务轨迹、慢查询记录、错误日志等所有关联数据中,你可以直接在New Relic控制台用该属性做筛选、分组统计,实现按用户维度排查慢请求、慢查询的需求。

注入位置说明

不推荐在Begin_Request方法中注入该属性。ASP.NET 请求生命周期中,Begin_Request阶段还未完成用户身份校验,此时HttpContext.User多为null,无法拿到已登录用户的正确ID。

推荐的注入位置为Application_AuthenticateRequest方法,该阶段用户身份已校验完成,可以正常获取UserId,参考实现代码如下:

using NewRelic.Api.Agent;

protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
    if (User?.Identity?.IsAuthenticated == true)
    {
        // 按自身业务逻辑调整UserId获取方式,比如从Claims中读取
        var userId = User.Identity.Name;
        NewRelic.AddCustomParameter("UserId", userId);
    }
    else
    {
        // 可选:匿名用户统一赋值,方便筛选区分
        NewRelic.AddCustomParameter("UserId", "Anonymous");
    }
}

额外说明

如果你的应用是ASP.NET Core架构,可以自行编写中间件,把自定义属性注入逻辑放在身份验证中间件之后执行,效果和上述实现一致。


内容的提问来源于stack exchange,提问作者Pochen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:54:03