在具有依赖项注入(inject)的ASP.NET Core中使用custom events and metrics for app insights的“正确”方法是什么?有没有办法注入(inject)TelemetryClient

我能找到的所有内容都直接实例化了TelemetryClient,而TelemetryClient没有实现接口(interface)。

最佳答案

使用.UseApplicationInsights()AddApplicationInsights()方法配置Application Insights时,会将TelemetryClient自动注入(inject)DI。您可以使用构造函数注入(inject)来获取TelemetryClient实例,如下所示。

public class HomeController : Controller
{
    private TelemetryClient telemetry;

    public HomeController(TelemetryClient telemetry)
    {
        this.telemetry = telemetry;
    }

    public IActionResult Index()
    {
        this.telemetry.TrackEvent("HomePageRequested");
        return View();
    }
}

https://github.com/Microsoft/ApplicationInsights-aspnetcore/wiki/Custom-Configuration#track-custom-traceeventmetric

关于asp.net-core - 为自定义事件和指标注入(inject)应用程序见解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50916081/

10-09 23:05