gpt4 book ai didi

asp.net-mvc - 部署在 Azure 上的 MVC 站点在访问 elmah 时返回错误

转载 作者:行者123 更新时间:2023-12-04 13:34:54 24 4
gpt4 key购买 nike

我有一个 MVC WebAPI 站点,其中安装了最新的 ELMAH.MVC NuGet 包。在 Visual Studio 下,我可以访问

http://localhost:1234/elmah

并获取错误日志,就像我应该能够做到的那样。

当我将其部署到 Azure 时,它​​会抛出错误。幸运的是,Elmah 正在将错误记录到 App_Data 中的 XmlError 日志中,我发现了这一点:

<error errorId="92ad3ee1-3fd5-449a-8cb4-0474aa771aab" 
application="/LM/W3SVC/417796901/ROOT"
host="RD00155D430783" type="System.Web.HttpException"
message="Server cannot set status after HTTP headers have been sent."
source="System.Web"
detail="System.Web.HttpException (0x80004005): Server cannot set status after HTTP headers have been sent.&#xD;&#xA;

然后继续进行许多行堆栈跟踪,其中没有任何一行接近我的代码。

发生什么事了?我刚刚添加了 Elmah.MVC nuget 包,并对 Web.Config 进行了以下更改

  <elmah>
<security allowRemoteAccess="yes"/>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
<location path="elmah.axd">
<system.web>
<allow roles="*" />
</system.web>
</location>

它不会出现在我的任何 Controller 附近,因此我无法控制何时设置或发送 Http 状态 header 。

感谢您的帮助。

最佳答案

itanex 是对的!将一个空文本文件(即 placeholder.txt)放入 App_Data 文件夹中,并将其标记为“内容”和“始终复制” - 这将确保创建 App_Data 文件夹。另外,正如西蒙指出的那样,正确的路径(基于您的配置)是/elmah.axd

关于asp.net-mvc - 部署在 Azure 上的 MVC 站点在访问 elmah 时返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com