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
在我的 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