Внедрение зависимостей .NET — проверка при запуске объекта, отличного от IOptions.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Внедрение зависимостей .NET — проверка при запуске объекта, отличного от IOptions.

Сообщение Anonymous »

Я пытаюсь загрузить файл json и файл схемы json при запуске приложения и проверить json с помощью загруженной схемы.
Я вижу только AddOptions возможность запускать проверки при запуске.
Можно ли сделать что-то подобное, но с помощью метода TryAddSingleton()?
Или, может быть, с помощью другого метода?< /p>
В настоящее время у меня есть следующее для загрузки и регистрации строго типизированных моделей моего файла json.

Код: Выделить всё

private static IServiceCollection AddConfig(
this IServiceCollection services,
string jsonSchemaPath)
where TConfig : class, IConfig
{
services.TryAddSingleton((sp) =>
{
var configService = sp.GetRequiredService();
var config = configService.LoadAsync(
jsonSchemaPath)
.GetAwaiter()
.GetResult();

if (config is null)
{
throw new ConfigMissingException(nameof(TConfig));
}

bool valid = config.Validate();

if (!valid)
{
throw new ConfigInvalidException(
nameof(TConfig),
config
.GetValidationErrors()
.ToList());
}

return config;
});

return services;


Подробнее здесь: https://stackoverflow.com/questions/790 ... ons-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»