如何在web.config?</location>中获取<location>部分的子节点

时间:2011-11-08 09:06:46

标签: c# configuration web-config location

我知道 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。

1 个答案:

答案 0 :(得分:2)