ServiceStack:如何处理错误?
到目前为止,我正在使用ServiceStack取得了很好的效果,除了处理错误似乎很棘手。 如果在序列化消息期间出现问题(因为我忘了在消息中添加默认构造函数),所有客户端都会返回一条消息,表明服务器有内部错误,状态代码为500.添加一个监听器Global.asax中的HttpApplication.Error
事件不起作用,因为它永远不会被击中。 Application_Error
也没有。 这不仅对最终用户场景不够,它使得调试这些错误非常麻烦,因为找出错误的唯一方法是快速监视中的这种丑陋表达:
Encoding.Default.GetString( ((System.IO.MemoryStream)((SyncMemoryStream)((System.Net.HttpWebResponse)(((WebException)ex).Response)).ResponseStream))._buffer)
我想要的是捕获服务器端的任何和所有错误(无论是ServiceStack序列化,还是我的服务上的错误),并将所需信息添加到我所有消息类型都有的Errors
集合中。
有关ServiceStack中的error handling和validation的更多详细信息,请参阅ServiceStack的validation和error handling Wiki页面。
目前无法使用自定义逻辑处理序列化exception(尽管我现在将在TODO列表中添加:)。
如果您的Response DTO具有ResponseStatus属性(即或inheritance自IHasResponseStatus),ServiceStack应自动序列化您的exception。
还要使用AppHost.Configure()onload脚本中的SetConfig()将StackTrace的DebugMode序列化为true。
上述就是C#学习教程:ServiceStack:如何处理错误?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026932.html