3

我正在尝试部署elmah。由于莫名其妙的原因,我收到一个错误:.axd 文件被明确禁止。我已经修复了我可以控制的内容(我的 web.config),并且需要系统管理员协作的解决方案不可用(例如编辑机器 web.config 或更新 IIS 映射)。我还验证了它在其他几台具有普通配置的机器上也能正常工作。

Ashx 应该像 axd,那么在从一种转换到另一种时,我应该考虑到 axd 和 ashx 之间有什么区别吗?

更新:我想我回答了我自己的问题。我将 web.config 更改为阅读

 <add verb="POST,GET,HEAD" path="elmah.ashx" type="Elmah.ErrorLogPageFactory, Elmah" />

它似乎工作。elmah 的源代码中甚至没有字符串 axd。

4

2 回答 2

4

答案是将 web.config 更改为如下所示:

<add verb="POST,GET,HEAD" path="elmah.ashx" type="Elmah.ErrorLogPageFactory, Elmah" />

事实上,网络上的一些消息来源说,除非您是微软,否则您不应将任何处理程序命名为 axd,以免您与 ASP.NET 的未来版本发生名称冲突。

于 2009-01-08T16:32:48.750 回答
1

很高兴看到你得到答案:)

axd 扩展通常用于仅使用 .NET 1.1 或更早版本的情况。并且开发人员无权修改 IIS 6 或更早版本中允许的扩展。

在您的情况下,似乎服务器上的所有跟踪都已从更高的配置级别禁用。

您找到的答案应该可以正常工作而不会出现问题。

于 2008-12-12T03:33:20.380 回答