3

在我的ASP.NET 5(核心,vNext)應用程序,我有:發佈ASP 5應用Azure在自定義環境

  • appsettings.test.json
  • appsettings.development.json
  • appsettings.staging.json
  • appsettings.production.json
  • appsetings.cloud.json

其中每個包含不同的連接字符串(針對不同的環境)。

問題

當我公佈我的應用程序天青,它會自動使用Production環境。

當我發佈到Azure時,我想使用Cloud環境。

注意

我使用Azure中的免費試用一個月,這不會讓我創建部署插槽(我需要升級)。

問題

那麼,有沒有反正我可以發佈在我的自定義環境(Cloud)默認到Azure?

回答

2

那麼,有沒有我可以在我的自定義環境(雲)默認發佈到Azure?

是的。

最簡單的方法是Azure portal。轉至MyWebApp>設置>應用程序設置>應用程序設置。將ASPNET_ENV變量設置爲Cloud

ASPNET_ENV App settings

我們可以用一個簡單的ASP.NET的核心應用進行測試。

public class Startup 
{ 
    public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile($"appsettings.{env.EnvironmentName}.json"); 

     builder.Build(); 
    } 

    public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
    { 
     app.Run(async (context) => 
     { 
      await context.Response 
       .WriteAsync("Hello from " + env.EnvironmentName); 
     }); 
    } 
} 

它按預期工作。

Hello from Cloud

+0

感謝您提供有用的信息,我想知道,由於沒有ASPNET_ENV:Production,它對於生產環境如何「默認」。在某個地方硬編碼是否可以在盒子裏生產? –

+0

@IlyaChernomordik默認值是「Production」。這裏是相關的源代碼位置https://github.com/aspnet/Hosting/blob/b6da89f54cff11474f17486cdc55c2f21f2bbd6b/src/Microsoft.AspNetCore.Hosting/Internal/HostingEnvironment.cs#L10 –

+0

我看,謝謝:) –

0

嘗試在您的命令行中設置ASPNET_ENV。與set ASPNET_ENV = cloud一樣,您也可以通過右鍵單擊項目並選擇屬性來更改VS中的environemnt,然後單擊調試。在環境變量中,您可以編輯託管環境。您也可以查看this issue獲取更多改變環境的方法。

+0

這些是本地技術。他們如何幫助Azure? –