Silverlight错误日志记录

Silverlight错误日志记录,silverlight,logging,error-handling,Silverlight,Logging,Error Handling,处理Silverlight应用程序客户端错误的正确方法是什么?我尝试构建一个服务端点,该服务端点将接收有关错误的详细信息,然后将该字符串写入数据库。问题是,错误文本超过了最大字节长度,因此我无法发送异常消息和stacktrace。处理最终出现在客户端的错误的更好方法是什么?尝试处理错误…我使用了MSDN中的这种模式 如果您发现消息太长,无法发送到日志web服务,请尝试将绑定属性(如maxBufferSize和maxStringContentLength)设置为适当的大值。它们默认为16KB,我个

处理Silverlight应用程序客户端错误的正确方法是什么?我尝试构建一个服务端点,该服务端点将接收有关错误的详细信息,然后将该字符串写入数据库。问题是,错误文本超过了最大字节长度,因此我无法发送异常消息和stacktrace。处理最终出现在客户端的错误的更好方法是什么?

尝试处理错误…我使用了MSDN中的这种模式


如果您发现消息太长,无法发送到日志web服务,请尝试将绑定属性(如
maxBufferSize
maxStringContentLength
)设置为适当的大值。它们默认为16KB,我个人将我的设置为2147483647(即
int.MaxValue


显然,您不能直接将原始异常发送到日志web服务(异常是不可序列化的),我所做的是编写一个函数,接受异常并对其进行遍历,将其转换为一个WCF友好的结构,然后可以传递到我的日志端点。当然,您需要确保如果失败,您有一个备份计划,例如,如果您在浏览器中运行,可能会将其记录到独立存储中,或者如果您正在运行提升的OOB,则可能会将其记录到用户的文件系统中。

您不应该考虑通过服务记录错误消息。如果要记录的错误与服务本身有关,该怎么办?可能承载所有从属服务(包括错误日志记录服务)的服务器无法访问或已关闭。客户端错误应记录在客户端,并在连接到服务可用时定期刷新到服务器


这就是我要做的…

从中查看新的企业版库。它为日志记录(客户端和通过远程服务)和异常处理提供管道,并通过配置或编程方式灵活配置策略。

这适用于服务端发生的错误,您希望在客户端提供反馈。不适用于客户端发生的错误。