如何解决无法使用 .NET CORE 3.1 中的依赖注入在 C# 中创建遥测客户端
我正在尝试在 C# .NET CORE 3.1 中创建 Telemtry 客户端的实例,以便我可以向它发送自定义指标。我正在使用 Startup 类,以便我可以注册 Application Insights Telemetry,然后在我的 C# Xunit 测试中调用 Telemtry 实例:
Startup.cs:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.Configure<TelemetryConfiguration>(
(o) => {
o.InstrumentationKey = "xxx";
o.TelemetryInitializers.Add(new
OperationCorrelationTelemetryInitializer()); });
}
}
然后在我的 XUnit 测试中调用它来调用 Startup 类:
public class FirstTest
{
private readonly TelemetryClient _telemetryClient;
public FirstTest(TelemetryClient telemetryClient)
{
_webHostBuilder =
new WebHostBuilder()
.UseEnvironment("Test")
.UseStartup<Startup>();
_telemetryClient = telemetryClient;
}
[Fact]
public async Task TestTelemtry()
{
_telemtryClient.TrackEvent("yyy");
}
通过像上面那样在启动时配置遥测配置,听起来遥测客户端已经依赖注入,而无需任何额外的工作。但是,我收到错误:
"The following constructor parameters did not have matching fixture data: TelemetryClient telemetryClient"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。