2016-09-19 80 views

回答

0

是的,您必須在目標系統上使用環境變量。 。

ASP.NET核心引用了一個特定的環境變量,ASPNETCORE_ENVIRONMENT來描述應用程序正在運行的環境中這個變量可以設置爲任何你喜歡的值,而是三個值所使用的約定:開發,分期和生產。您將在ASP.NET Core提供的示例和模板中找到這些值。

在運行時

的IHostingEnvironment服務提供了與環境中工作的核心抽象確定在環境。此服務由ASP.NET託管層提供,並可通過依賴注入注入您的啓動邏輯。 Visual Studio中的ASP.NET Core網站模板使用此方法加載環境特定的配置文件(如果存在)並自定義應用程序的錯誤處理設置。在這兩種情況下,通過調用IHostingEnvironment實例傳遞給適當的方法的EnvironmentName或IsEnvironment來引用當前指定的環境來實現此行爲。

https://docs.asp.net/en/latest/fundamentals/environments.html

+0

嗯,我知道這種方法,但它與web.config轉換相比有些不同。這不會產生一個配置文件,但您必須同時上傳到目標環境。兩個我的意思是,一個「共享」設置「application.json」和一個與環境相關的「applicaton.staging.json」。 –

1

首先,要記住,這

ASP.NET核心的配置系統已經從以前版本的ASP.NET,這依賴於System.Configuration重新架構和XML配置文件,如web.config。新的配置模型提供了對基於鍵/值的設置的簡化訪問,這些設置可以從各種來源中檢索。

要處理ASP.NET應用程序中的設置,建議您只在應用程序的啓動類中實例化配置。最簡單的配置只是一個源的集合,它提供了讀寫名稱/值對的能力。

ASP.NET Core提供了對JSON,XML和INI配置文件作爲源的內置支持,並允許根據當前環境選擇源。 ASPNETCORE_ENVIRONMENT環境變量用於設置/確定當前環境。預定義值爲Development,Staging,Production,但也可以是任何自定義值。

假設您要使用JSON文件(名稱爲appsettings.json作爲約定)來存儲連接字符串。你需要做的是創建一個單獨的appsettings.{EnvironmentName}.json文件(你有每個環境),如:相應

  • appsettings.Development.json
  • appsettings.Staging.json
  • appsettings.Production.json

和負載其中之一環境:

.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); 

在ASP.NET Core文檔的「Configuration」 chapter「Working with multiple environments」 chapter中閱讀有關所有這些內容的更多信息。

+0

謝謝,但看到我上面的評論。 –

相關問題