我正在尝试部署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。
答案 0 :(得分:4)
答案是将web.config更改为:
<add verb="POST,GET,HEAD" path="elmah.ashx" type="Elmah.ErrorLogPageFactory, Elmah" />
事实上,网络上的一些消息来源说,除非你是微软,否则你不应该为任何处理程序命名,以免你的名字与未来版本的ASP.NET发生冲突。
答案 1 :(得分:1)
很高兴看到你得到答案:)
axd扩展通常用于仅使用.NET 1.1或更早版本的情况。并且开发人员无权修改IIS 6或更早版本中允许的扩展名。
在您的情况下,似乎已从更高的配置级别禁用了服务器上的所有跟踪。
您找到的答案应该没有问题。