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