亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET Core 在構建過程中設置托管環境

ASP.NET Core 在構建過程中設置托管環境

C#
catspeake 2021-08-07 17:58:49
我有一個ASP.NET Core Api使用 appsettings.{environmentname}.json 配置文件的地方。然后我還擁有具有不同環境選項的相應 launchSettings.json 文件,以便我可以使用任何特定的環境設置文件運行。在 Startup.cs 中,我們有一個條件設置,如果我們處于非生產環境中,那么我們使用一組特定的Jwt authentication(只是關閉了一些驗證檢查),然后在生產中,我們加載了一個不同的版本要打開的所有檢查。在我的本地主機上,這在 environment.IsDevelopment() 返回 true 而 environment.IsProduction() 返回 false 的情況下效果很好。偉大的!但是,當我通過我們的構建過程運行它并部署到我們的測試環境時,environment.IsDevelopment() 現在返回 false。我在 Program.cs 文件中添加了添加 ConfigurationBuilder 的選項,以便我可以將變量傳遞給我的構建過程,如下所示:dotnet restoredotnet build --environment "Development"dotnet publish -o ..\Artifacts我將發布相關文件和相關代碼以獲取更多信息...程序.cspublic static IWebHost BuildWebHost(string[] args){    var config = new ConfigurationBuilder()        .AddCommandLine(args)        .Build();    return WebHost.CreateDefaultBuilder(args)        .UseConfiguration(config)        .UseStartup<Startup>()        .UseNLog()        .Build();}Startup.cs(ConfigureServices 方法)services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>{    // removed code not relevant...    // options.TokenValidationParameters = Environment.IsProduction()    // options.TokenValidationParameters = Environment.IsEnvironment("Prod")    options.TokenValidationParameters = Environment.IsDevelopment()        ? devTokenValidationParameters        : prodTokenValidationParameters;    // options.TokenValidationParameters = devTokenValidationParameters;});為什么 helper environment.Is{EnvironmentName}() 檢查在這里不起作用?
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

環境名稱是運行時概念,而不是編譯(或構建)時概念。這意味著在構建(或發布)應用程序時,環境尚不可知,并且設置無效。發布應用程序時,您的代碼未運行。

您可以在運行應用程序時控制環境名稱,例如通過以下參數dotnet run

dotnet run --environment=Production

或者使用已知的環境變量ASPNETCORE_ENVIRONMENT。例如,通過在命令行執行此操作:

set ASPNETCORE_ENVIRONMENT=Production

launchSettings.json出于調試目的,也可以使用該文件設置此變量。此文件是在使用 Visual Studio 或dotnet new.

應用程序的默認環境是生產環境。有關此主題的更多信息,請參閱文檔。


查看完整回答
反對 回復 2021-08-07
  • 1 回答
  • 0 關注
  • 583 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號