C# 检查 Web.Config 中是否存在处理程序

C# check if handler is present in Web.Config

在我的 Web.Config 文件中,我有以下内容:

<system.webServer>
  <handlers>
    <add name="HANDLERNAME" verb="*" path="PATH.axd" type="HANDLERTYPE">
  </handlers>
</system.webServer>

在我 运行 一段特定的代码之前,我想检查一下处理程序是否存在于我的 Web.Config 文件中。

这是我能做到的吗?

我试过:ConfigurationManager.GetSection("system.webServer/handlers") 没有成功,因为这个 returns 无效。

如有任何帮助,我们将不胜感激!

我找到了两种方法来检查 web.config

中的处理程序
    XmlDocument doc = new XmlDocument();
    doc.Load(path); *//path is the location of the web.config file*

    XmlElement root = doc.DocumentElement;
    XmlNode nodes = root.SelectSingleNode("/system.webServer");
    XmlNodeList childnotes = nodes.ChildNodes;
    bool isExist = false;;
    foreach (XmlNode node in childnotes)
    {
        if (node.Name.Contains("handlers"))
        {
            isExist = node.OuterXml.Contains("HANDLERNAME");
        }
    }

您可以检查 isExist

的值

另一种方法是将整个 web.config 作为字符串获取并检查它是否包含 HANDLERNAME