Azure网站中的Elmah

时间:2015-01-26 04:05:58

标签: asp.net-mvc azure elmah

我试图将一堆ASP.Net MVC网站迁移到Azure。在此过程中,我注意到Elmah无法在任何这些网站上运行。我创建了最简单的案例来测试,发现它也没有用。

在Azure上,我创建了一个"标准层"网站,我没有进一步配置它。

在Visual Studio中,我创建了一个新的ASP.NET MVC网站。我添加了Nuget" Elmah"包。我将web.config中的一行更改为:

<security allowRemoteAccess="true" />

这项更改是为了让我查看elmah页面。 (我知道不安全,但只是试图证明一点)

我还更改了控制器,以便单击about菜单会生成异常。否则这是一个通用的MVC网站。本地一切都很好,我可以生成异常并看到它显示在Elmah.axd页面上,但是一旦我将网站部署到Azure,Elmah页面上就不会出现任何数据。

我已将样本保留在线以供演示之用:

  1. 从:http://testelmah.azurewebsites.net/elmah.axd

  2. 开始
  3. 接下来转到:http://testelmah.azurewebsites.net然后点击。您应该会看到一条错误消息,指出发生了异常。

  4. 返回:http://testelmah.azurewebsites.net/elmah.axd

  5. 感到困惑的是Elmah没有工作

  6. 我花了几个小时搜索解决方案,似乎Elmah只适用于Azure中的其他所有人。我错过了什么?

1 个答案:

答案 0 :(得分:5)

我认为您的问题是,您正在运行启用自定义错误和/或使用HandleErrorAttribute。在localhost上运行时可能会出现黄色的死亡屏幕,在Azure上运行时可能会出现“漂亮”的错误页面。您可以在web.release.config中配置自定义错误。

您应该考虑使用Elmah.MVC NuGet包,因为这可以帮助您在使用自定义错误和ASP.NET MVC的HandleError属性运行时记录ELMAH中的错误。