私はこれを見た場所を思い出すことができませんが、私の.NETコアMVCアプリケーションのために私のアプリケーション構成を設定するときにブログのアドバイスに従っています。私は私のアプリが必要ないくつかの設定を保持するために、このようなモデルを作成しました:Azureアプリの設定に変換する.NET Coreのアプリ設定を行う方法は?
public class BasePathSettings
{
public string BaseImageFolder { get; set; }
public string BaseApiUrl { get; set; }
}
私のスタートアップが、この...
public void ConfigureServices(IServiceCollection services)
{
...
// this adds the base paths to container
services.Configure<BasePathSettings>(Configuration.GetSection("BasePathSettings"));
....
}
を持っており、appsettings.jsonはそれでこれを持っている:
"BasePathSettings": {
"BaseImageFolder": "D:\\Images\\",
"BaseApiUrl": "http://localhost:50321/"
},
このような情報を必要とするコントローラを私は注入します....
これをローカルホスト上で実行すると、すべて正常に動作します。
しかし、このアプリケーションをAzureにデプロイすると、私はアプリケーションサービスの一般設定でアプリケーション設定を作成する必要があると思っていました。だから私はBasePathSettingsと呼ばれるアプリの設定を行い、その値に設定するためにJSONをコピー:
{ "BaseImageFolder": "imagePath", "BaseApiUrl": "apiUrl" }
web.configファイルが正しい権限を持っていないと主張ConfigureServicesコードにだときのAzureがbarfsことが表示されますNTFS。本当の原因は、Azureアプリケーションの設定からjson値を読み取る方法です。
jsonも使用できますか?もしそうなら、異なったフォーマットが必要ですか?