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

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

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

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.

Другие вопросы по тегам