【发布时间】:2010-09-12 11:14:59
【问题描述】:
如何处理 Sivlerlight 应用程序中出现的任何错误的最佳方法是什么?
我不是在谈论开发环境中的错误处理。
但是记录错误并查找它们以供将来参考的最佳方法是什么?
【问题讨论】:
标签: .net silverlight silverlight-4.0 error-handling
如何处理 Sivlerlight 应用程序中出现的任何错误的最佳方法是什么?
我不是在谈论开发环境中的错误处理。
但是记录错误并查找它们以供将来参考的最佳方法是什么?
【问题讨论】:
标签: .net silverlight silverlight-4.0 error-handling
我使用的技术是同时登录到服务器和客户端。您可以通过一个入口点、具有许多静态方法的Log 类或单例(如果您愿意)来执行此操作。然后可以将其配置为仅执行客户端日志记录,仅执行服务器日志记录,或者两者都不执行。
然后可以在非恐慌诱导对话框中显示客户端日志,其中完整的堆栈跟踪可在可切换的文本框中找到。这显然允许在 Web 服务关闭或损坏时捕获异常。如果用户特别生气,它还可以让用户复制堆栈跟踪并通过电子邮件发送给您。
虽然服务器日志记录(例如使用 Log4Net)更强大,因为它提供了更多的日志记录选项,包括电子邮件警报,但它确实依赖于您能够找到特定人员的例外情况,这需要额外的搜索工具或事件日志中的知识。
在我看来,添加客户端日志记录以供回退(以及服务器日志记录)是一个值得的额外功能。
【讨论】:
我通常不喜欢仅仅依靠 Silverlight 以有意义的方式向客户端显示错误(即“加载数据时出现问题...”)。相反,我更喜欢包装异常并通过 WCF 服务调用我的服务器,并使用公开的方法来接受 Silverlight 异常作为参数。一旦在服务器上,您可以将其记录到事件日志、文本日志、电子邮件到支持组等。
这里真正的关键是让异常从客户端返回到您的服务器,以便以最佳和最可沟通的方式进行处理。
【讨论】: