在.NET中使用错误代码进行支持呼叫

我一直在考虑将错误代码合并到我目前支持的应用程序中,而且我有一些一般问题。

我倾向于使用代码的原因是因为我们在应用程序中至less发现了一个严重的问题,这是我们无法控制的以编程方式修复的问题。 这个问题非常罕见,但是如果发生的话,可能会给用户造成严重的停机时间。 要解决这个问题,需要直接与熟悉问题的支持人员联系。

为了尽可能地在应用程序中使用它,我们正在向Windows事件日志写入信息,以指示支持人员损坏的数据,并向用户显示一个通用的“请求支持”提示。

我们希望添加错误代码,以便支持更快地在事件查看器中查找特定的错误。

所以,第一个问题:这是一个可接受的方法,还是有另一个想法,我没有考虑?

其次,如果我们使用错误代码,在我们的解决scheme中pipe理它们的最佳方法是什么? 在每个项目中包含一个错误代码文件,其中非相交整数组被屏蔽( yuck )? 创build一个专门用于保存错误代码( yuck )的新项目?

我从来没有一个好主意如何最好地pipe理错误代码,没有任何两个项目,我已经做了任何干净的方式。 我宁愿避免他们,但如果我必须使用它们,我想知道什么是最好的。

错误代码只是用来简洁地描述每一个已知的错误情况的一种方式 – 作为确保本地化和中文耳语不会妨碍任何疑难解答过程的一种方式。

假设你对每一个错误条件都有一个唯一的可读的错误信息,那么你不需要维护一个错误代码的数据库,只要将它计算为规范的英文字符串的散列(我假设这是你的默认语言) 。 如果您添加本地化的版本,然后继续使用英文字符串作为摘要的基础。

当你收到一个技术调用时,你只需要找到与哈希代码相匹配的字符串,这可以通过一个应用程序自动完成(Reflection to the rescue)。

或者,确保向用户显示的所有异常都由您自己的具有必需的错误代码构造函数参数的Exception子类进行封装,该参数将成为开发人员的责任。