【问题标题】:Can't find httpModules and httpHandlers inside machine.config在 machine.config 中找不到 httpModules 和 httpHandlers
【发布时间】:2014-07-26 06:08:54
【问题描述】:

我读过一篇关于 ASP.NET 中的 httpHandlers 和 httpModules 的帖子,它说在 machine.config 中默认定义了这样的节点(),但是当我查看它们时它们不存在。我在路径“$WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG”中搜索了 machine.config。

唯一的参考是这两行:

<section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

我使用的是 Win7、IIS7 和 .NET 4.5 版

【问题讨论】:

  • 你必须查看web.config,而不是机器(在提及目录上)
  • 谢谢你,他们确实在那里。但是 machine.config 文件的作用是什么呢?它是否使用或引用了您提到的 web.config ?

标签: asp.net httphandler httpmodule machine.config


【解决方案1】:

机器配置文件 Machine.config 包含适用于整台计算机的设置。它为 custom 模块和 custom 处理程序定义了诸如 &lt;httpModules&gt;&lt;httpHandlers&gt; 之类的常见 configSection,因此您无需在机器上的每个网站上单独声明它们,而是直接用作

<httpModules>
   <add name="..." type="..." /> 
</httpModules>

没有为整个机器配置定义自定义模块/处理程序,默认情况下,machine.config 文件没有&lt;httpModules&gt;&lt;httpHandlers&gt;

【讨论】:

  • 感谢您的清理,也许这篇文章没有足够的文档记录,因为它说:“事实上,您可以通过转到machine.config 文件(位于 $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG 目录中)并搜索 元素。"
【解决方案2】:

如果您只想这样做,您可以使用 appcmd 获取模块列表。 appcmd 列表配置站点/vdir -section:"system.web/httpModules"

【讨论】:

  • 谢谢,这确实让我可以看到这些节点,但是对于特定站点,对吗?我正在寻找的是全局配置。
  • 是的,Aristos 将我引导至该文件,似乎回答了我的问题。
猜你喜欢
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多