Конфигурационные файлы ASP.NET и обычные XML-файлы - PullRequest
1 голос
/ 08 декабря 2010

На моем веб-сайте, который в основном является приложением для мониторинга, я должен сохранить файл конфигурации, содержащий имя некоторых веб-серверов, имена веб-сайтов, размещенных на каждом веб-сервере, URL-адреса и номера портов и т. Д.

Может ли кто-нибудь объяснить мне, в чем преимущества обработки этого файла конфигурации как пользовательского файла конфигурации моего веб-приложения и чтения его с помощью «ConfigurationSection» или «IConfigurationSectionHandler», а не обработки его как обычного XML-файла и чтения с использованием XMLDocument »или« XMLTextReader »или« XLINQ »и т. Д.? Это избавит меня от создания записи в файле web.config, а также в этом пользовательском файле конфигурации.

Я потратил много времени в Интернете на поиски этого ответа, но не смог найти удовлетворительного ответа.

Пожалуйста, помогите ..

Ответы [ 2 ]

4 голосов
/ 08 декабря 2010

Есть как минимум две причины:

  1. Файл web.config предназначен для хранения конфигурации вашего сайта; поэтому любой, кто будет поддерживать сайт в будущем, будет знать, где искать настройки, относящиеся к сайту.
  2. Использование * .config для любого приложения позволяет использовать класс ConfigurationManager (в сборке System.Configuration) для чтения / записи в файл, что проще, чем написание вашего собственного xml (в том виде, как он разработан специально для сохранения информации о конфигурации).
3 голосов
/ 08 декабря 2010

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

...