我安装了 elmah.mvc nuget 包,并保留了该 sans 的默认配置,以设置发送电子邮件并将其插入 SQL 数据库。
在我的本地计算机上,当我使用 Visual Studio 主机时,我可以打开我的应用程序并访问 /elmah 以查看错误报告。但是,当我尝试在生产环境中访问 /elmah 时,出现两个错误,首先是403 access is denied
服务器错误。然后在我的电子邮件中(来自 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
。所有仍然给出相同的错误,并且仍然可以在本地工作,但不能在生产中。
编辑:当我远程进入服务器并通过浏览器访问它时它实际上也有效(不使用本地主机,而是实际的站点地址)。那我没有什么权限?似乎它在服务器级别。