繁体   English   中英

如何在开发 .net 6 上的项目中检索环境变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM