注:これは、ServiceStack と WebAPI の選択に関するいくつかの質問の重複ではありません。
ASP.NET Web アプリケーションで ServiceStack をどの程度使用するかを決定しようとしています。
オプション A : MVC コントローラーを廃止し、それらを ServiceStack ベースのサービスと Razor ビューに置き換えることで、ServiceStack を全面的に活用します。
オプション B : ServiceStack 対応の MVC コントローラーを使用して、パフォーマンスとスケーラビリティを向上させます。
A の明らかな利点は、ビューを構築する際に柔軟性が増すことです。ただし、次の 2 点が気になります。
ServiceStack によって実行される Json または Xml との間の要求/応答 DTO のすべてのシリアル化/逆シリアル化は、MVC コントローラーが処理する純粋な C# オブジェクトと比較して、パフォーマンスを犠牲にすることになります。
複雑なオブジェクト グラフを扱う場合、シリアル化はやや不安定になる可能性があります。
Parent.Child <-> Child.Parent
たとえば、IgnoreDataMember 属性を使用する必要があるような循環参照が含まれる場合、そうしないとシリアライゼーションがスタックを吹き飛ばします。また、デシリアライゼーションは、診断が非常に難しいあいまいな「オブジェクト参照が設定されていません」というエラーをスローする場合があります。
このジレンマについて考えている人はいますか?