2012-01-16 147 views
2

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

如果任何人有任何这方面的经验或有任何建议,将有所帮助,我会很感激它......谢谢。

回答

2

根据您打算继续使用传统ASP的时间长短,一种方法是创建一个临时的.Net站点,该站点启用了elmah以捕获经典的ASP错误。您的传统ASP网站会通过发布或其他方式向本网站发送错误,并使用安全措施来防止发生不必要的帖子。您需要解析发送的数据并手动调用elmah来记录错误。

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

+0

感谢您的可能的解决方案。但是,难道你还没有结束关于经典asp和.net之间共享信息的其他一系列问题吗?会话等。就像必须将会话存储在数据库中或使用com对象在两者之间进行转换一样?我希望它比这更简单... :) – 2012-01-17 17:57:01

3

受到比尔马丁的回答的启发,我已经提出了一个证明这个工作的概念验证。有一个经典的ASP处理程序调用Server.GetLastError(),将结果编码为JSON并将其发布到.NET HttpHandler,然后将它记录到ELMAH以及所有常规的.NET错误。

代码和说明在https://github.com/dylanbeattie/ElmahASP