我希望使用与遥测客户端相关联的TrackTrace方法。需要创建TelemetryClient的实例才能访问此方法。
TelemetryClient可以在控制器的构造函数中初始化,但我想看看是否有更好的方法以及如何实现它?
答案 0 :(得分:1)
通过使用构造函数注入获取TelemetryClient的实例,并在其上调用所需的TrackXXX()方法。我们不建议在ASP.NET Core应用程序中创建新的TelemetryClient实例。
TelemetryClient的单例实例已经在 DependencyInjection容器,共享TelemetryConfiguration 其余的遥测。创建一个新的TelemetryClient实例是 仅当它需要的配置与 其余的遥测。
这样您就可以在需要的地方将其注入:
using Microsoft.ApplicationInsights;
public class HomeController : Controller
{
private TelemetryClient telemetry;
// Use constructor injection to get a TelemetryClient instance.
public HomeController(TelemetryClient telemetry)
{
this.telemetry = telemetry;
}
public IActionResult Index()
{
// Call the required TrackXXX method.
this.telemetry.TrackEvent("HomePageRequested");
return View();
}
答案 1 :(得分:0)