我知道 HttpHandler 的名称,我需要获取包含此处理程序的位置部分。所以我需要在我的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
}
但位置只有Path属性,我无法获取此部分的子元素。我发现方法是使用IConfigurationSectionHandler,以下是如何创建custom configuration handler的说明。但问题是位置部分不是自定义部分,所以我不能像在MSDN示例中那样使用我自己的sectionHandler。
答案 0 :(得分:2)
只需调用OpenConfiguration()
方法即可打开内部配置。