无法使用Elmah MVC访问生产服务器上的/ elmah?

Sve*_*ang 55 c# asp.net-mvc elmah http-status-code-403

我安装了elmah.mvc nuget软件包并保留了默认配置,即设置发送电子邮件并将其插入SQL数据库.

在我使用Visual Studio主机的本地计算机上,我可以打开我的应用程序并访问/ elmah罚款以查看错误报告.但是,当我尝试访问/ elmah生产时,我得到两个错误,首先我收到403 access is denied服务器错误.然后在我的电子邮件中(来自elmah)我得到:

System.Web.HttpException: Server cannot set status after HTTP headers have been sent.
Run Code Online (Sandbox Code Playgroud)

任何人都知道这里发生了什么以及如何解决?谢谢.

到目前为止,我尝试了以下答案的建议:

<system.webServer>

<handlers>
  <add name="elmah" verb="GET" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
</handlers>
Run Code Online (Sandbox Code Playgroud)

并在 <system.web>

<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)

我尝试将路径设置为两者elmah.axd并且简单~/elmah.所有仍然给出相同的错误,仍然在本地工作,但不在生产中.

编辑:它实际上也适用于我远程进入服务器并通过浏览器访问它(不使用localhost,但实际的站点地址).那么我没有什么许可?好像它是在服务器级别.

Pai*_*ook 118

您需要通过将以下配置设置添加到<elmah>web.config文件中的部分来启用Elmah进行远程访问.此值的默认设置为false,它仅允许localhost,因此它在Visual Studio中的本地计算机上运行.

   <elmah>
      <security allowRemoteAccess="true"/>
   </elmah>
Run Code Online (Sandbox Code Playgroud)

我似乎总是忘记这一点,花几分钟挠挠脑袋;)

  • 刚刚用谷歌搜索找到这个答案,并且当我意识到我已经做过时就要投票了 - 大概是上次我试图配置Elmah而忘了这个!谢谢 :) (3认同)
  • 和Jamie Humphries有同样的问题...一些答案值得多个赞成 (2认同)