第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

ASP.NET Core 在構(gòu)建過程中設(shè)置托管環(huán)境

ASP.NET Core 在構(gòu)建過程中設(shè)置托管環(huán)境

C#
catspeake 2021-08-07 17:58:49
我有一個(gè)ASP.NET Core Api使用 appsettings.{environmentname}.json 配置文件的地方。然后我還擁有具有不同環(huán)境選項(xiàng)的相應(yīng) launchSettings.json 文件,以便我可以使用任何特定的環(huán)境設(shè)置文件運(yùn)行。在 Startup.cs 中,我們有一個(gè)條件設(shè)置,如果我們處于非生產(chǎn)環(huán)境中,那么我們使用一組特定的Jwt authentication(只是關(guān)閉了一些驗(yàn)證檢查),然后在生產(chǎn)中,我們加載了一個(gè)不同的版本要打開的所有檢查。在我的本地主機(jī)上,這在 environment.IsDevelopment() 返回 true 而 environment.IsProduction() 返回 false 的情況下效果很好。偉大的!但是,當(dāng)我通過我們的構(gòu)建過程運(yùn)行它并部署到我們的測試環(huán)境時(shí),environment.IsDevelopment() 現(xiàn)在返回 false。我在 Program.cs 文件中添加了添加 ConfigurationBuilder 的選項(xiàng),以便我可以將變量傳遞給我的構(gòu)建過程,如下所示:dotnet restoredotnet build --environment "Development"dotnet publish -o ..\Artifacts我將發(fā)布相關(guān)文件和相關(guān)代碼以獲取更多信息...程序.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貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

環(huán)境名稱是運(yùn)行時(shí)概念,而不是編譯(或構(gòu)建)時(shí)概念。這意味著在構(gòu)建(或發(fā)布)應(yīng)用程序時(shí),環(huán)境尚不可知,并且設(shè)置無效。發(fā)布應(yīng)用程序時(shí),您的代碼未運(yùn)行。

您可以在運(yùn)行應(yīng)用程序時(shí)控制環(huán)境名稱,例如通過以下參數(shù)dotnet run

dotnet run --environment=Production

或者使用已知的環(huán)境變量ASPNETCORE_ENVIRONMENT。例如,通過在命令行執(zhí)行此操作:

set ASPNETCORE_ENVIRONMENT=Production

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

應(yīng)用程序的默認(rèn)環(huán)境是生產(chǎn)環(huán)境。有關(guān)此主題的更多信息,請參閱文檔


查看完整回答
反對 回復(fù) 2021-08-07
  • 1 回答
  • 0 關(guān)注
  • 582 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號