2012-01-16 200 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