[英]How to retrieve environment variables in project on dev .net 6
我正在学习环境变量以及如何在 azure 上的开发和生产中使用它们。 到目前为止,我的appsettings.json
文件的值部分中有一些设置值。 我想搞清楚这个设定。 我试过了
string value = Environment.GetEnvironmentVariable("TestValue");
不返回任何东西。
这是我的设置:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"Values": {
"TestValue": "HelloWorld",
},
"AllowedHosts": "*"
}
我想在我的 appsettings 中设置变量,然后调用getvariables
function 来获取它们是可能的。 我想这样做的原因是因为我不想在appsettings.json
上检查我的 appsettings.json 文件,而不是当我部署到生产环境时,我想在 Z3A580F1422036767F5F0BC308938 上手动添加设置。
Details
的 class 并声明变量 public class Details
{
public string Title { get; set; }
public string Name { get; set; }
}
Startup.cs
class 文件并在ConfigureServices
部分添加以下代码 Details myDetails = Configuration.GetSection("Values").Get<Details>();
Program.cs
中调用Startup.cs
中的ConfigureServices
var builder = WebApplication.CreateBuilder(args);
var startup = new Startup(builder.Configuration);
startup.ConfigureServices(builder.Services); // calling ConfigureServices method
var app = builder.Build();
startup.Configure(app, builder.Environment);
启动.cs:
namespace Core6
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
Details myDetails = Configuration.GetSection("Values").Get<Details>();
}
}
}
程序.cs:
using Core6;
var builder = WebApplication.CreateBuilder(args);
var startup = new Startup(builder.Configuration);
startup.ConfigureServices(builder.Services); // calling ConfigureServices method
var app = builder.Build();
startup.Configure(app, builder.Environment);
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.Run();
Output:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.