ПРИМЕЧАНИЕ: Это не дубликат нескольких вопросов, касающихся выбора между ServiceStack и WebAPI.Преимущества/недостатки использования сервисов ServiceStack и контроллеров ASP.NET MVC?
Я пытаюсь решить, в какой степени я хочу использовать ServiceStack в моем ASP.NET веб-приложения:
Вариант А: Перейти тотальную ServiceStack угробив контроллеров MVC и заменяя их ServiceStack на основе услуг и просмотров Razor.
Вариант B: Используйте MVC-контроллеры с поддержкой ServiceStack для повышения производительности и масштабируемости.
Явное преимущество A - это дополнительная гибкость, которая дает мне возможность структурировать мои взгляды. Тем не менее, я обеспокоен двумя вещами:
Все сериализации/десериализации запрос/ответ DTO к/от Json или Xml исполнении ServiceStack обязан прийти на счет производительности по сравнению с чистым C# объектов, Контроллеры MVC.
Сериализация может быть несколько шелушащейся при работе со сложными графами объектов. Например. в случаях с круговыми ссылками, например
Parent.Child <-> Child.Parent
, необходимо использовать атрибут IgnoreDataMember, иначе сериализация приведет к удалению стека. Кроме того, иногда десериализация может вызывать неясные ошибки «Object reference not set», которые очень трудно диагностировать.
Есть ли у кого-нибудь мысли по поводу этой дилеммы?
Я неправильно понял объяснения и примеры и подумал, что ServiceStack вызывает службу, используя клиент, который соответствует форматированию, указанному в AppHost. Теперь, после некоторого большего чтения, я вижу, что ошибался. –