Параметр конфигурации тега, необходимый в IOptions.C#

Место общения программистов C#
Ответить
Anonymous
 Параметр конфигурации тега, необходимый в IOptions.

Сообщение Anonymous »

Можно ли с помощью платформы .net IOptions пометить определенное значение как необходимое, чтобы приложение не запускалось, если значение не настроено?
Например, если бы мне пришлось создайте класс Options:

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

class MyOptions{
public string OptionalOption { get; set; }

[Required]
public string RequiredOption { get;set; }
}
и связать с помощью

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

services.Configure(Configuration.GetSection("MyOptions"));
Я бы хотел, чтобы приложение выдавало исключение, если бы мой файл appsettings.json содержал только

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

{
"MyOptions": {
"OptionalOption": "foo"
}
}
Я могу добиться чего-то подобного, вручную проверив каждый конструктор, который использует IOptions для if (myOptions.Value.RequiredOption == null), но Я бы предпочел даже не заходить так далеко.
Бонус: если я использую [ConfigurationKeyName("REQUIRED_OPTION")], я бы хотел, чтобы исключение прочитало что-то по строкам «Требуемая конфигурация MyOptions:REQUIRED_OPTION не найдена в конфигурации», в отличие от фактического имени свойства в классе, которое является «RequiredOption».

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-ioptions
Ответить

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

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

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

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

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