Я пытаюсь получить ссылку на раздел 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 ().