3

注:これは、ServiceStack と WebAPI の選択に関するいくつかの質問の重複ではありません。

ASP.NET Web アプリケーションで ServiceStack をどの程度使用するかを決定しようとしています。

オプション A : MVC コントローラーを廃止し、それらを ServiceStack ベースのサービスと Razor ビューに置き換えることで、ServiceStack を全面的に活用します。

オプション B : ServiceStack 対応の MVC コントローラーを使用して、パフォーマンスとスケーラビリティを向上させます。

A の明らかな利点は、ビューを構築する際に柔軟性が増すことです。ただし、次の 2 点が気になります。

  1. ServiceStack によって実行される Json または Xml との間の要求/応答 DTO のすべてのシリアル化/逆シリアル化は、MVC コントローラーが処理する純粋な C# オブジェクトと比較して、パフォーマンスを犠牲にすることになります。

  2. 複雑なオブジェクト グラフを扱う場合、シリアル化はやや不安定になる可能性があります。Parent.Child <-> Child.Parentたとえば、IgnoreDataMember 属性を使用する必要があるような循環参照が含まれる場合、そうしないとシリアライゼーションがスタックを吹き飛ばします。また、デシリアライゼーションは、診断が非常に難しいあいまいな「オブジェクト参照が設定されていません」というエラーをスローする場合があります。

このジレンマについて考えている人はいますか?

4

1 に答える 1