получить ссылку на раздел ASP.NET web.config customErrors - PullRequest
4 голосов
/ 25 ноября 2011

Я пытаюсь получить ссылку на раздел customErrors web.config.Когда я использую следующий код, я всегда получаю ноль.У меня нет этой проблемы, когда я получаю ссылку на пользовательский раздел, который я создал, поэтому я немного удивлен, почему это не сработает.

CustomErrorsSection customErrorSection =
    ConfigurationManager.GetSection("customErrors") as CustomErrorsSection;

Я также пробовал это:

CustomErrorsSection customErrorSection = 
    WebConfigurationManager.GetSection("customErrors") as CustomErrorsSection;

Я также пробовал это:

CustomErrorsSection customErrorSection =
    WebConfigurationManager.GetWebApplicationSection("customErrors") as CustomErrorSection;

РЕДАКТИРОВАТЬ:

ARGH!Так обстоит дело с большинством вещей, которые я выяснил ответ сразу после того, как задал вопрос.

Это работает для меня:

System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("/");
CustomErrorsSection customErrorsSection = (CustomErrorsSection)configuration.GetSection("system.web/customErrors");

Или более просто так:

CustomErrorsSection customErrors = (CustomErrorsSection) WebConfigurationManager.OpenWebConfiguration("/").GetSection("system.web/customErrors");

Это также работает:

CustomErrorsSection customErrorsSection = ConfigurationManager.GetSection("system.web/customErrors") as CustomErrorsSection;

Так что, я думаю, теперь я понимаю, почему у меня возникла проблема в первую очередь.Я неправильно думал, что могу получить ссылку на раздел customErrors, пытаясь получить GetSection («customErrors»), но я не смог сказать ему, в каком корневом разделе он жил, и я основывал свои попытки на том факте, что я знал, какполучить пользовательский раздел, когда я не смог понять, что мой пользовательский раздел был корнем раздела, поэтому мне не нужно было добавлять что-то вроде system.Web / перед ним, когда я вызывал GetSection ().

1 Ответ

8 голосов
/ 25 ноября 2011

Попробуйте это:

var configuration = WebConfigurationManager.OpenWebConfiguration("~/Web.config");

// Get the section.
CustomErrorsSection customErrors =
    (CustomErrorsSection)configuration.GetSection("system.web/customErrors");

Подробнее по теме здесь: CustomError Class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...