В настоящее время я пытаюсь создать запечатанный класс, который получает конфигурацию хранилища Azure через настройки, хранящиеся в JSON. Я регистрирую настройки в классе startup.cs, а затем внедряю их в конструктор. Проблема в том, что мне нужно инициировать один и тот же класс внутри класса, потому что это закрытый класс
public sealed class AzureFileStorage
{
private static volatile AzureFileStorage instance;
private static object syncRoot = new Object();
private readonly AzureBlobSettings _azureBlobSettings;
public CloudStorageAccount StorageAccount { get; private set; }
public CloudBlobClient BlobClient { get; private set; }
public CloudBlobContainer Container { get; private set; }
public AzureFileStorage(IOptions<AzureBlobSettings> fbAuthSettingsAccessor)
{
_azureBlobSettings = fbAuthSettingsAccessor.Value;
StorageAccount = CloudStorageAccount.Parse(_azureBlobSettings.BlobStorageConnectionString);
//instantiate the client
BlobClient = StorageAccount.CreateCloudBlobClient();
//set the container
Container = BlobClient.GetContainerReference(_azureBlobSettings.ContainerBlobAzureId);
}
public static AzureFileStorage Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new AzureFileStorage(????);
}
}
return instance;
}
}
}
Как инициировать azurefilestorage, если azureblobsettings передаются через внедрение зависимостей.