Tôi vừa dán 4 dòng ở cuối dự án khác và nó hoạt động nhưng tôi nhận được cảnh báo .. Tôi rõ ràng không hiểu rõ về DI đủ ... Nó muốn tôi thay đổi điều gì?
public void ConfigureServices(IServiceCollection services)
{
if (HostingEnvironment.EnvironmentName == "Local")
{
services.AddHealthChecksUI()
.AddHealthChecks()
.AddCheck<TestWebApiControllerHealthCheck>("HomePageHealthCheck")
.AddCheck<DatabaseHealthCheck>("DatabaseHealthCheck");
}
services.Configure<PwdrsSettings>(Configuration.GetSection("MySettings"));
services.AddDbContext<PwdrsContext>(o => o.UseSqlServer(Configuration.GetConnectionString("PwdrsConnectionRoot")));
services.AddMvc(o =>
{
o.Filters.Add<CustomExceptionFilter>();
});
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy", b => b
.SetIsOriginAllowed((host) => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
services.AddSwaggerDocument();
services.AddHttpContextAccessor();
services.AddAutoMapper(typeof(ObjectMapperProfile));
services.AddTransient<IEmailSender, EmailSender>();
services.AddScoped(typeof(IAppLogger<>), typeof(LoggerAdapter<>));
services.AddScoped(typeof(IAsyncRepository<>), typeof(Repository<>));
services.AddScoped<IRfReportTypeRepository, RfReportTypeRepository>();
services.AddScoped<IRfReportRepository, RfReportRepository>();
services.AddScoped<IRfReportLookupsService, RfReportLookupsService>();
services.AddScoped<IRfReportService, RfReportService>();
services.Configure<RAFLogging>(Configuration.GetSection("RAFLogging"));
ServiceProvider serviceProvider = services.BuildServiceProvider(); //WARNING IS HERE
IOptions<RAFLogging> RAFLogger = serviceProvider.GetRequiredService<IOptions<RAFLogging>>();
RegisterSerilogLogger logger = new RegisterSerilogLogger(RAFLogger);
}
WARNING IS HERE
gì? Vui lòng cung cấp chi tiết về cảnh báo. Cho chúng tôi xem văn bản cảnh báo. Đây có phải là một cảnh báo trình biên dịch? Một cảnh báo từ một số plugin phân tích mã? Nếu vậy thì cái nào? Đây có phải là một ngoại lệ thời gian chạy? Hiển thị cho chúng tôi tất cả các chi tiết có liên quan của ngoại lệ (tin nhắn, loại, theo dõi ngăn xếp, ngoại lệ bên trong).
BuildServiceProvider()
. Phương thức này chỉ được gọi bởi Host một lần. Nhà cung cấp dịch vụ trùng lặp có thể dẫn đến một số lỗi không mong muốn.