मैं लागू किया है निर्भरता इंजेक्शन में अपने आवेदन. और मैं विन्यास सेवाओं के रूप में इस प्रकार है ।
IConfiguration configuration = context.Configuration;
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});
services.ConfigureRailIncApi(configuration);
services.Configure<EmailSettings>(configuration.GetSection("EmailSettings"));
services.AddSingleton(configuration);
services.AddSingleton(Logger);
services.AddSingleton<Application>();
services.AddSingleton<ServiceManager>();
यह सब ठीक काम करता है को छोड़कर अब ढांचे प्रवेश करने के लिए, कंसोल की सामग्री सहित किसी भी प्रश्न डेटाबेस के लिए भेजा.
किसी भी तरह के आंतरिक लॉगिंग सक्षम किया गया है, लेकिन मैं देख नहीं है जहां मैं यह सक्षम.
मैं कैसे कर सकते हैं रोकने के लिए .नेट से प्रवेश स्क्रीन करने के लिए?
ध्यान दें: Logger
एक उदाहरण के अपने स्वयं के प्रवेश वर्ग ConsoleLogger
. इस वर्ग को लागू नहीं करता है ILogger
का उपयोग करें या किसी भी चीज़ से .शुद्ध. यह बस है एक कस्टम वर्ग है कि यह भी करने के लिए लॉग कंसोल और एक फाइल. लॉगिंग से इस लकड़हारा ठीक काम कर रहा है. और मैं इस बात की पुष्टि .नेट लॉग नहीं कर रहे हैं के लिए भेजा जा रहा इस वर्ग.
अद्यतन:
यहाँ अपने कोड विन्यस्त करता है कि मेजबान.
public void Configure(string[] args, Action< HostBuilderContext, IServiceCollection> configureServices, Action<IHostBuilder> configureHost)
{
IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args);
hostBuilder.ConfigureServices((context, services) =>
{
services.AddSingleton(this);
configureServices(context, services);
});
configureHost(hostBuilder);
AppHost = hostBuilder.Build();
}
और यहाँ कोड है कि यह कहता है.
ApplicationServices appServices = new();
appServices.Configure(args, (context, services) =>
{
IConfiguration configuration = context.Configuration;
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});
services.ConfigureRailIncApi(configuration);
services.Configure<EmailSettings>(configuration.GetSection("EmailSettings"));
services.AddSingleton(configuration);
services.AddSingleton(Logger);
services.AddSingleton<Application>();
services.AddSingleton<ServiceManager>();
},
builder =>
{
});
ConfigureLogging
ग्रहणlogging
पैरामीटर के प्रकारHostBuilderContext
लेकिन मैं करने में सक्षम था मजबूर किया जा करने के लिएILoggingBuilder
. आपकी मदद के लिए धन्यवाद.