gpt4 book ai didi

asp.net-mvc - 使用 ServiceStack 服务与 ASP.NET MVC Controller 的优缺点?

转载 作者:行者123 更新时间:2023-12-01 09:00:47 24 4
gpt4 key购买 nike

注意:这不是处理 ServiceStack 和 WebAPI 之间选择的几个问题的重复。

我正在尝试决定在我的 ASP.NET Web 应用程序中使用 ServiceStack 的程度:

选项 A:通过放弃 MVC Controller 并将其替换为基于 ServiceStack 的服务和 Razor View 来全面使用 ServiceStack。

选项 B:使用支持 ServiceStack 的 MVC Controller 以获得更好的性能和可扩展性。

A 的明显优势是它在构建我的观点时为我提供了额外的灵 active 。但是,我担心两件事:

  1. 与 MVC Controller 处理的纯 C# 对象相比,ServiceStack 执行的与 Json 或 Xml 之间的请求/响应 DTO 的所有序列化/反序列化必然会以性能为代价。

  2. 在处理复杂的对象图时,序列化可能有点不稳定。例如。在涉及循环引用的情况下,如 Parent.Child <-> Child.Parent必须使用 IgnoreDataMember 属性,否则序列化会破坏堆栈。此外,有时反序列化会引发难以诊断的晦涩的“未设置对象引用”错误。

有人对这个困境有什么想法吗?

最佳答案

All the serialization/deserialization of request/response DTO's to/from Json or Xml performed by ServiceStack is bound to come at the cost of performance compared to pure C# objects that MVC controllers deal with.

这听起来不对,在使用 ServiceStack 时,您永远不需要进行任何不必要的编码/反序列化,即您可以调用 ServiceStack services directly from MVC Controllers这只是一个 C# 方法调用。

Serialization can be somewhat flaky when dealing with complex object graphs. E.g. in cases involving circular references...

那是因为您应该只在线发送干净的、 self 描述的 DTO,而不是转储具有周期性依赖关系的 db 模型。

关于asp.net-mvc - 使用 ServiceStack 服务与 ASP.NET MVC Controller 的优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17530541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com