【问题标题】:ELMAH errors and Classic AspELMAH 错误和经典 Asp
【发布时间】:2012-02-11 13:47:50
【问题描述】:

我们已经在我们拥有的 ASP.NET MVC 网站上使用 ELMAH 进行错误日志记录......但我们的主网站仍然是经典的 asp,我已经开始为该网站创建错误处理/日志记录结构,但是我认为如果我们可以在所有应用程序中保持错误日志记录的一致性,那就太好了。我想使用相同的数据库结构......甚至可能将来自不同源应用程序的错误存储在同一个表中,然后按源过滤。我想也许我可以从我们经典的 asp vb 服务器代码中调用 ELMAH dll 来记录错误信息。我查看了 ELMAH 网站...然后查看了 AIRBRAKE - http://airbrake.io/pages/home - 但无法真正看到它是如何或可以从经典的 asp 网页完成的。

如果有人对此有任何经验或有任何有用的建议,我将不胜感激......谢谢。

【问题讨论】:

    标签: sql-server asp-classic error-handling elmah


    【解决方案1】:

    受 Bill Martin 回答的启发,我整理了一个概念验证来证明这一点。有一个经典的 ASP 处理程序,它调用 Server.GetLastError(),将结果编码为 JSON 并将其发布到 .NET HttpHandler,然后将其与所有常规 .NET 错误一起记录到 ELMAH。

    代码和注释在https://github.com/dylanbeattie/ElmahASP

    【讨论】:

      【解决方案2】:

      根据您计划在经典 asp 上停留多长时间,一种选择是创建一个启用 elmah 的临时 .Net 站点以捕获经典 asp 错误。您的经典 ASP 站点将通过帖子或其他方式向该站点发送错误,使用安全性来防止不需要的帖子。您需要解析发送的数据并手动调用 elmah 来记录错误。

      然后,当您升级时,使用相同的设置,您的日志记录将在两个版本之间无缝。

      【讨论】:

      • 感谢您提供可能的解决方案。但是,关于在经典 asp 和 .net 之间共享信息,您是否还会遇到其他一系列问题?会话等。例如必须将会话存储在数据库中或使用 com 对象在两者之间进行转换?我希望它比那更简单...... :)
      猜你喜欢
      • 1970-01-01
      • 2016-10-06
      • 2010-11-04
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多