2012-08-08 19 views
1

我一直在考慮在當前支持的應用程序中合併錯誤代碼,並且我有一些常規問題。在.NET中使用錯誤代碼進行支持調用

我向所有使用代碼傾斜的原因是因爲我們發現在我們的應用至少有一個嚴重的問題是我們無法控制的以編程方式解決。這個問題非常罕見,但如果出現這種情況,可能會給用戶造成嚴重的停機時間。要解決此問題,需要直接與熟悉問題的支持人員聯繫。

爲了盡最大努力在應用程序中使用它,我們正在向Windows事件日誌寫入信息,以便將支持人員指向損壞的數據,並向用戶顯示通用的「請致電支持」提示。

我們想補充的錯誤代碼,以便支持更快速地找到在事件查看器的特定錯誤。

所以,第一個問題:這是一個可以接受的方法,或者是有其他的想法,我還沒有考慮過?其次,如果我們使用錯誤代碼,在我們的解決方案中管理它們的最佳方式是什麼?在每個項目中包含一個錯誤代碼文件,並將不相交的整數組屏蔽掉(yuck)?創建一個專門用於保存錯誤代碼的新項目(yuck)?

我從來沒有一個好主意,錯誤代碼是如何最好的管理,也沒有兩個項目,我對工作有任何干淨的方式做到了。我寧願避免它們,但如果我必須使用它們,我想知道什麼效果最好。

+1

修正了這個錯誤,其他的都是100x難度。 – 2012-08-08 23:21:55

+0

這個錯誤不能由我們修復。問題在SQL Server複製的內部,並導致數據損壞。我們所能做的就是檢測問題的結果。相信我,如果我認爲我們可以簡單地修復它,我會主張100%。 – Greenknight 2012-08-09 14:10:51

回答

1

錯誤代碼只是作爲一種方式來簡潔地描述每個已知的可能的錯誤情況 - 作爲確保本地化和中文低語不會混淆任何疑難解答過程的一種方式。

假設你對每一個錯誤條件都有一個唯一的人類可讀的錯誤信息,那麼你不需要維護一個錯誤代碼的數據庫,只需將它計算爲規範的英文字符串的散列(我假設這是你的默認語言)。如果您添加本地化版本,那麼請繼續使用英文字符串作爲摘要的基礎。

當您收到一個高科技叫你只需要找到相匹配的哈希碼,這是一件好事,它可以自動與實用程序(反射救援)來完成的字符串。

或者,保證顯示給用戶的所有異常被認爲具有成爲開發商的責任所需的錯誤代碼構造函數的參數自己的異常子類封裝。

+0

我喜歡使用散列碼的想法...通常,所有錯誤代碼都應該是唯一的,以便開發人員能夠在源代碼中查找。但是,這不會導致維護唯一字符串列表,而不是整數?如果是這樣的話,那麼......同樣的問題。我們如何最好地管理字符串?總之,我的問題主要是關於**管理錯誤標識符。 – Greenknight 2012-08-09 14:17:13

+0

**或者** ...可能爲特定問題(如您所建議的)創建自定義異常,並將異常的**名稱**作爲我們的錯誤代碼進行散列。這樣,我們就可以獲得我們需要的可搜索性,但是我們不必在某個地方維護一個神祕數字的神祕列表。 – Greenknight 2012-08-09 14:48:47

相關問題