Как избежать configSections в файлах .NET app.config - PullRequest
2 голосов
/ 07 апреля 2010

Я ищу способ избежать объявления моего раздела конфигурации в configSections внутри файла App.config.По сути, я хочу указать свою конфигурационную информацию так же, как и для встроенных систем .NET.Например, при настройке WCF я просто помещаю материал вМне не нужно объявлять раздел в configSections вверху.То же самое относится и ки многие другие пространства имен.

Я знаю, что могу просто загрузить его в виде XML-файла и проанализировать его, но я бы предпочел придерживаться шаблона, если это возможно.Более того, глядя на конфигурацию WCF с помощью Reflector, я замечаю, что она использует ту же подсистему конфигурации (определенную в System.Configuration).

Если вам интересно, почему это важно, это потому, что это сбивает с толку наших ИТ-специалистов.Если бы он содержался в одном месте, им было бы намного легче.Я также понимаю, что потеряю возможность иметь несколько одинаковых типов секций, но в нашем случае это не важно.

Ответы [ 3 ]

3 голосов
/ 07 апреля 2010

Я не понимаю - вам нужно объявить что-то, прежде чем вы сможете его использовать - даже стандартные разделы конфигурации .NET все где-то объявлены - только не в вашем собственном app.config.

Вы не можете "перехитрить" систему конфигурации .NET; если вы хотите использовать конфигурацию стандартным способом .NET (который я настоятельно рекомендую - это известный метод, он хорошо проработан и хорошо протестирован), то вам нужно определить разделы конфигурации и зарегистрировать их в системе конфигурации .NET - никак не обойтись.

Единственный способ избежать добавления этих разделов в собственный файл app.config вашего приложения - поместить их в ваш machine.config (скрытый глубоко в недрах вашей системы - обычно в каталоге C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG) - проверить его настройки в разделе регистрации вверху!

Но, откровенно говоря, обновление этих системных конфигурационных файлов на каждом компьютере с использованием вашего программного обеспечения кажется гораздо более сложной задачей, чем несколько разделов конфигурации, определенных в вашем app.config!

0 голосов
/ 07 апреля 2010

В самом деле? Смущает ваших айтишников? Хорошо, я не буду комментировать это ...

Возможно, вы могли бы просто поместить информацию о вашей конфигурации в совершенно другой файл, но вам как бы пришлось заново изобретать колесо.

http://www.codeproject.com/KB/files/anyconfig.aspx

0 голосов
/ 07 апреля 2010

Вы можете использовать элемент AppSettings только по этой причине.

...