ASP.NET пользовательских записей конфигурации / ConfigurationSections + проверка бизнес-логики - PullRequest
0 голосов
/ 08 февраля 2009

У меня есть несколько пользовательских записей конфигурации в моих файлах .config. Все грузит / работает нормально. Мне было интересно, если есть правильный способ проверить предоставленные данные - добавление бизнес-логики. Например ...

<logFileSettings>
    <logFile fileName="foo.log" uniqueName="log1">
        <alerts>
             -= snip =-
        </alerts>
    </logFile>
    <logFile fileName="bar.log" uniqueName="log2">
        <alerts>
             -= snip =-
        </alerts>
    </logFile>
</logFileSettings>

Теперь я хочу убедиться, что uniqueName для каждого пользовательского раздела уникальны. Нужно ли делать это вручную вне моего пользовательского класса, что влияет на ConfigurationSection, или я могу сделать это там? (например, Сорта, как делегат после того, как он прочитал файл конфигурации или что-то в этом роде?)

1 Ответ

0 голосов
/ 21 сентября 2010

Это похоже на работу для потребителя данных, а не хранилища данных (в данном случае, web.config).

Это можно читать / записывать web.config из кода, но это почти всегда очень плохая идея (с одной стороны, запись всегда перезапускает веб-приложение, и даже чтение тоже иногда). Я понимаю, что это не то, о чем вы спрашиваете, но я хотел указать на это, потому что я в ужасе от количества людей, которые безрассудно отказываются читать / писать файлы web и app.config.

На ваш первоначальный вопрос о том, происходит ли событие при анализе файла, я прочитал и ничего не смог найти. Однако вы, вероятно, можете изменить XML-схему Visual Studio для файла web.config, и, по крайней мере, у вас будет ошибка времени разработки.

Или, что более важно, я бы предложил перенести логику проверки на получателя данных (похоже на класс журналирования).

...