在 ASP.NET Core 3.1 中使用 Configuration 中的 ConnectionString
Use ConnectionString from Configuration in ASP.NET Core 3.1
我正在使用推荐的方法使用 ASP.NET Core 配置 Serilog。
如何从方法 Main 中的配置获取 ConnectionString 以配置 SQL 服务器接收器?
public class Program {
public static Int32 Main(String[] args) {
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console()
.CreateLogger();
try {
CreateHostBuilder(args).Build().Run();
return 0;
} catch (Exception exception) {
return 1;
} finally {
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(String[] args) {
IHostBuilder builder = Host.CreateDefaultBuilder(args);
builder
.UseSerilog()
.ConfigureWebHostDefaults(builder => {
builder
.ConfigureAppConfiguration((context, configuration) => {
IWebHostEnvironment environment = context.HostingEnvironment;
configuration
.AddJsonFile("settings.json", false, true)
.AddJsonFile($"settings.{environment.EnvironmentName}.json", false, true)
.AddEnvironmentVariables();
})
.UseStartup<Startup>();
});
return builder;
}
}
我正在使用:
- 序列号:2.9.0
- Serilog.Sinks.MSSqlServer:5.3.0
在:
.NET 核心 3.1
您可以获取环境:
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
然后使用它手动配置构建器,就像您在下面做的那样:
var configuration = new ConfigurationBuilder()
.AddJsonFile("settings.json", false, true)
.AddJsonFile($"settings.{environment}.json", false, true)
.AddEnvironmentVariables()
.Build();
然后像平常一样获取连接字符串:
var connectionString = configuration.GetConnectionString("...")
我正在使用推荐的方法使用 ASP.NET Core 配置 Serilog。
如何从方法 Main 中的配置获取 ConnectionString 以配置 SQL 服务器接收器?
public class Program {
public static Int32 Main(String[] args) {
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console()
.CreateLogger();
try {
CreateHostBuilder(args).Build().Run();
return 0;
} catch (Exception exception) {
return 1;
} finally {
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(String[] args) {
IHostBuilder builder = Host.CreateDefaultBuilder(args);
builder
.UseSerilog()
.ConfigureWebHostDefaults(builder => {
builder
.ConfigureAppConfiguration((context, configuration) => {
IWebHostEnvironment environment = context.HostingEnvironment;
configuration
.AddJsonFile("settings.json", false, true)
.AddJsonFile($"settings.{environment.EnvironmentName}.json", false, true)
.AddEnvironmentVariables();
})
.UseStartup<Startup>();
});
return builder;
}
}
我正在使用: - 序列号:2.9.0 - Serilog.Sinks.MSSqlServer:5.3.0
在: .NET 核心 3.1
您可以获取环境:
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
然后使用它手动配置构建器,就像您在下面做的那样:
var configuration = new ConfigurationBuilder()
.AddJsonFile("settings.json", false, true)
.AddJsonFile($"settings.{environment}.json", false, true)
.AddEnvironmentVariables()
.Build();
然后像平常一样获取连接字符串:
var connectionString = configuration.GetConnectionString("...")