asp.netコア2Web APIで、appsettings.jsonファイルの値に基づいてAPIがリッスンするURL(Windowsサービスとして実行されるAPI)を設定できるようにしたいです。それを達成する方法が見つかりませんIConfiguration
。インスタンスにアクセスするにはどうすればよいですか?
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls({value_from_appsettings})
.Build()
.RunAsService();
パスを進む前に構成にアクセスするにはWebHost.CreateDefaultBuilder
、をIConfiguration
使用して独自のインスタンスを構築する必要がありますConfigurationBuilder
。
あなたの質問から例をとると、あなたは次のようなものを使うことができます:
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
var appSettingsConfiguration = new ConfigurationBuilder()
.SetBasePath(pathToContentRoot)
.AddJsonFile("appsettings.json")
.Build();
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls(appSettingsConfiguration["Your:Value"])
.Build()
.RunAsService();
これは、例が代わりにファイルを使用してこれを設定するドキュメントでいくらか説明されていhosting.json
ます。また、を利用してUseConfiguration
、たとえばurls
、自動的に取得される値を指定できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加