Как получить настройку web.config в подпапке веб-приложения

У меня есть подпапка в моем веб-приложении. Это не отдельное приложение, а просто подпапка, но у него есть собственный файл web.config. В этой подпапке есть страница aspx, которой необходимо получить доступ к настройке в файле web.config в ее собственной папке.

Когда я вызываю ConfigurationManager.GetSection ("settingname") из статического инициализатора на этой странице aspx, он возвращает null. Почему это могло произойти? Может быть, у меня неправильное имя параметра или доступ к корневому каталогу приложения web.config осуществляется вместо web.config вложенной папки?


person Triynko    schedule 01.03.2013    source источник


Ответы (1)


Если вам нужен программный доступ к ConnectionStrings, AppSettings или чему-либо еще в файле web.config, кроме корня приложения, вам необходимо использовать класс WebConfigurationManager в пространстве имен System.Web.Configuration (см. http://msdn.microsoft.com/en-us/library/system.web.configuration.webconfigurationmanager.aspx) вместо класса ConfigurationManager в пространстве имен System.Configuration. Это должно решить вашу проблему.

Из MSDN-

«Использование WebConfigurationManager является предпочтительным способом работы с файлами конфигурации, относящимися к веб-приложениям. Для клиентских приложений используйте класс ConfigurationManager».

Я понимаю (хотя не могу назвать это фактом), что класс ConfigurationManager был разработан для приложений Windows Forms, где, как мне кажется, существует только один файл App.config.

person pwdst    schedule 02.03.2013
comment
Нет ничего лучше, чем столкнуться со своим вопросом почти два года спустя, найти этот ответ и пометить его как решение. Это то, что происходит, когда ваш босс постоянно отводит вас от проектов, чтобы поработать над другими вещами, буквально годами уходит время, чтобы свести концы с концами. - person Triynko; 15.01.2015