Я знаю имя HttpHandler , и мне нужно получить раздел location , содержащий этот обработчик. Поэтому мне нужно получить все разделы location в моем файле web.config, затем получить раздел HttpHandlers и проверить, совпадает ли его имя с теми, которые мне нужны:
<location path="myhandler">
<system.web>
<httpHandlers>
<add verb="GET" path="Handler" type="location_element.MyHandler,location_element"/>
</httpHandlers>
</system.web>
</location>
Я нашел, как получить местоположение раздел:
Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
ConfigurationLocationCollection locations = config.Locations;
foreach (ConfigurationLocation location in locations)
{
//code
}
Но у location есть только свойство Path, и я не могу получить дочерние элементы этого раздела. Я обнаружил, что способ состоит в том, чтобы использовать IConfigurationSectionHandler , и вот описание того, как создать обработчик пользовательской конфигурации . Но проблема в том, что раздел location не является пользовательским разделом, поэтому я не могу заставить его использовать свой собственный sectionHandler, как это сделано в примере с MSDN.