我安装了elmah.mvc的nuget包,并保持了默认配置,没有设置发送邮件或将其插入SQL数据库。
当我在本地使用Visual Studio主机时,我可以打开我的应用程序并访问/elmah,以查看错误报告。然而,在生产环境中尝试访问/elmah时,我会遇到两个错误。首先,我会收到一个403访问被拒绝
的服务器错误。然后在我的电子邮件(来自elmah)中,我会得到:
System.Web.HttpException: Server cannot set status after HTTP headers have been sent.
有人知道这里到底出了什么问题以及如何解决吗?谢谢。
根据下面的答案,我已经尝试了以下方法:
在<system.webServer>
中进行了以下操作:
<handlers>
<add name="elmah" verb="GET" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
</handlers>
并且在 <system.web>
中
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
我尝试将路径设置为elmah.axd
和简单的~/elmah
。所有还是会出现相同的错误,而且在本地工作正常,但在生产环境中不起作用。
编辑:实际上,当我远程登录到服务器并通过浏览器访问它时(不使用localhost,而是实际的站点地址),它也可以正常工作。那么我没有什么权限?似乎是在服务器级别上。