【发布时间】:2013-07-06 00:22:47
【问题描述】:
注意:这不是处理 ServiceStack 和 WebAPI 之间选择的几个问题的重复。
我正在尝试决定在我的 ASP.NET Web 应用程序中使用 ServiceStack 的程度:
选项 A:通过放弃 MVC 控制器并将其替换为基于 ServiceStack 的服务和 Razor 视图来全面使用 ServiceStack。
选项 B:使用支持 ServiceStack 的 MVC 控制器以获得更好的性能和可扩展性。
A 的明显优势是它在构建我的观点时为我提供了额外的灵活性。但是,我担心两件事:
与 MVC 控制器处理的纯 C# 对象相比,ServiceStack 执行的与 Json 或 Xml 之间的请求/响应 DTO 的所有序列化/反序列化必然会以性能为代价。
在处理复杂的对象图时,序列化可能有点不稳定。例如。在涉及像
Parent.Child <-> Child.Parent这样的循环引用的情况下,必须使用 IgnoreDataMember 属性,否则序列化会破坏堆栈。此外,有时反序列化会引发难以诊断的模糊“未设置对象引用”错误。
有人对这个困境有什么想法吗?
【问题讨论】: