Опитвам се да получа препратка към секцията customErrors на web.config. Когато използвам следния код, винаги получавам нула. Нямам този проблем, когато получа препратка към персонализиран раздел, който съм създал, така че съм малко изумен защо това не работи.
CustomErrorsSection customErrorSection =
ConfigurationManager.GetSection("customErrors") as CustomErrorsSection;
Пробвах и това:
CustomErrorsSection customErrorSection =
WebConfigurationManager.GetSection("customErrors") as CustomErrorsSection;
Пробвах и това:
CustomErrorsSection customErrorSection =
WebConfigurationManager.GetWebApplicationSection("customErrors") as CustomErrorSection;
РЕДАКТИРАНЕ:
АРГХ! Такъв е случаят с повечето неща, за които разбрах отговора веднага след като зададох въпроса.
Това работи за мен:
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().