gpt4 book ai didi

c# - 在 ASP.NET Core 的 static main 中访问 IHostingEnvironment

转载 作者:太空狗 更新时间:2023-10-29 22:07:08 26 4
gpt4 key购买 nike

我正在尝试在升级后的 Asp.Net Core RC2 应用程序的 static void main 中获取配置值。在 Startup 的构造函数中,我可以注入(inject) IHostingEnvironment,但不能在静态方法中执行此操作。我正在关注 https://github.com/aspnet/KestrelHttpServer/blob/dev/samples/SampleApp/Startup.cs ,但想在 appsettings 中设置我的 pfx 密码(是的,它应该在 user secrets 中,并且最终会到达那里)。

public Startup(IHostingEnvironment env){}

public static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddJsonFile("hosting.json");
builder.AddEnvironmentVariables();
var configuration = builder.Build();
...
var host = new WebHostBuilder()
.UseKestrel(options =>
{
// options.ThreadCount = 4;
options.NoDelay = true;
options.UseHttps(testCertPath, configuration["pfxPassword"]);
options.UseConnectionLogging();
})
}

最佳答案

在#general channel (2016 年 5 月 26 日下午 12:25)对 aspnetcore.slack.com 进行了一些讨论后,David Fowler 说“你可以新建 webhostbuilder 并调用 getsetting(“environment”)”和“托管配置!= 应用配置”。

var h = new WebHostBuilder();
var environment = h.GetSetting("environment");
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: true)
.AddEnvironmentVariables();
var configuration = builder.Build();

关于c# - 在 ASP.NET Core 的 static main 中访问 IHostingEnvironment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com