2016-09-19 8 views

答えて

0

はい、ターゲットシステムで環境変数を使用する必要があります。

ASP.NETコアは、特定の環境変数を参照し、ASPNETCORE_ENVIRONMENTは、アプリケーションが、現在で実行されている環境を記述するために、この変数はあなたが好きな任意の値に設定することができますが、3つの値は、慣例により使用されます。開発、ステージング、および生産。これらの値は、ASP.NETコアで提供されるサンプルおよびテンプレートで使用されています。

ランタイム

で環境を決定IHostingEnvironmentサービスが環境で作業するためのコア抽象化を提供します。このサービスは、ASP.NETホスティングレイヤーによって提供され、依存関係注入を介してスタートアップロジックに注入できます。 Visual StudioのASP.NET Core Webサイトテンプレートは、この方法を使用して、環境固有の構成ファイル(存在する場合)を読み込んで、アプリケーションのエラー処理設定をカスタマイズします。いずれの場合も、この動作は、現在指定されている環境を参照して、適切なメソッドに渡されたIHostingEnvironmentのインスタンスでEnvironmentNameまたはIsEnvironmentを呼び出すことによって実現されます。

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

+0

まあ、私はこのアプローチを知っていますが、web.configの変換と比べて異なるものです。これは1つの設定ファイルを生成しませんが、両方をターゲット環境にアップロードする必要があります。 2つの意味は、 "共有"設定 "application.json"と環境固有の "applicaton.staging.json"を持つものです。 –

1

まず、

ASP.NETコアのコンフィギュレーション・システムはSystem.Configurationに頼っていたASP.NETの以前のバージョンから再設計されたことを、心に留めておくと、 web.configのようなXML設定ファイル。新しい構成モデルは、さまざまなソースから取得できるキー/値ベースの設定への合理的なアクセスを提供します。

ASP.NETアプリケーションの設定を操作するには、アプリケーションのStartupクラスで構成をインスタンス化することをお勧めします。最も単純な構成は、名前と値のペアの読み取りと書き込みを行うソースを集めたものに過ぎません。

ASP.NET Coreは、ソースとしてJSON、XML、およびINI構成ファイルを組み込みサポートしており、現在の環境に合わせてソースを選択することができます。現在の環境を設定/決定するには、環境変数ASPNETCORE_ENVIRONMENTが使用されます。事前定義された値はDevelopment,Staging,Productionですが、カスタムも可能です。

接続文字列を格納するためのJSONファイル(慣習としてはappsettings.json)を使用したいとします。環境に応じてそれらの

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

と負荷1:何をする必要がある別のような(あなたが持っている各環境用)appsettings.{EnvironmentName}.jsonファイルを作成することです:

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

これらの詳細については、“Configuration” chapterおよび“Working with multiple environments” chapterのASP.NET Coreドキュメントを参照してください。

+0

ありがとう、しかし、上記の私のコメントを参照してください。 –

関連する問題