ASP.NET CoreでWebアプリケーションを開発していますが、現在、ストライプアカウントキーなどの多数のキーセットがあります。それらをプロジェクト全体に異なるクラスで分散させるのではなく、グローバルにアクセスできるjsonにすべてまとめて配置したいと思います。それらをappsettings.jsonに配置しようとしましたが、どこからでもアクセスできません。
私はよくこの種のことを接続文字列や他のグローバル定数で行います。まず、必要な変数のクラスを作成します。私のプロジェクトではMDUOptions
、それはあなたが望むものです。
public class MDUOptions
{
public string mduConnectionString { get; set; }
public string secondaryConnectionString { get; set; }
}
これで、Startup.csConfigureServicesメソッドに次のようになります。
Action<MDU.MDUOptions> mduOptions = (opt =>
{
opt.mduConnectionString = Configuration["ConnectionStrings:mduConnection"];
});
services.Configure(mduOptions);
services.AddSingleton(resolver => resolver.GetRequiredService<IOptions<MDUOptions>>().Value);
ここで、DIを使用してコードでアクセスします。
public class PropertySalesRepository : IPropertySalesRepository
{
private static string _mduDb;
public PropertySalesRepository(MDUOptions options)
{
_mduDb = options.mduConnectionString;
}
....
}
私の場合、必要なプロパティは文字列だけでしたが、optionsクラス全体を使用することもできました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加