Tac*_*yon 9 c# kestrel-http-server asp.net-core
有没有办法访问文件中 .NET Core 应用程序的数据库上下文program.cs?我基本上希望使用存储在数据库中的特定选项来配置 Kestrel,因此我需要访问数据库上下文。
我基本上想做这样的事情:
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseSentry()
.UseKestrel(opts =>
{
opts.Listen(IPAddress.Any, 443, listenOptions =>
{
var storedCert = _db.Certificates.First(c => c.Id == 1);
var certBytes = Convert.FromBase64String(storedCert.CertificatePfx);
var certPassword = storedCert.CertificatePassword;
var cert = new X509Certificate2(certBytes, certPassword);
listenOptions.UseHttps(cert);
});
});
Run Code Online (Sandbox Code Playgroud)
技巧是如何在单例 \xef\xbc\x9a 中创建范围服务
\n\n\n public static void Main(string[] args)\n {\n CreateWebHostBuilder(args).Build().Run();\n }\n\n public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>\n WebHost.CreateDefaultBuilder(args)\n .UseStartup<Startup>()\n .UseKestrel(opt => {\n var sp = opt.ApplicationServices;\n using(var scope = sp.CreateScope() ){\n var dbContext=scope.ServiceProvider.GetService<AppDbContext>();\n var e= dbContext.Certificates.FirstOrDefault();\n // now you get the certificates\n }\n });\n }\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
19419 次 |
| 最近记录: |