Я давний разработчик ASP.NET в модели веб-форм и использую новый проект как возможность познакомиться с ASP.NET MVC.
Приложению потребуется API, чтобы с ним могла взаимодействовать группа других приложений. До этого я всегда создавал API, просто используя стандартный веб-сервис.
В качестве примечания: я не решаюсь с головой окунуться в стиль создания API REST, по крайней мере, для этого конкретного случая. Этому приложению, вероятно, потребуется концепция управления версиями API, и я думаю, что подход REST, когда API по существу разбросан по всем контроллерам сайта, в этом отношении немного громоздок. (Но я не совсем против, если есть хороший ответ на потенциальные требования к управлению версиями.)
Итак, что вы скажете, обитатели Stack Overflow?





Я бы по-прежнему рекомендовал уровень обслуживания, который может обслуживать потребителей на стороне клиента или потребителей на стороне сервера. Возможно даже возврат данных в различных форматах, в зависимости от вызывающего абонента.
Я согласен с Килхоффером. Попробуйте использовать класс-оболочку «Фасад», унаследованный от «IFacade». В вашем классе фасада поместите свой код для использования вашего веб-сервиса. Таким образом, ваши контроллеры будут просто обращаться к фасаду. Плюс в том, что вы можете поменять местами «DummyFacade», который реализует тот же интерфейс IFacade, который фактически не взаимодействует с веб-службой, а просто возвращает статический контент. Позволяет вам провести модульное тестирование, не обращаясь к сервису. По сути, та же идея, что и в шаблоне репозитория.
Я согласен. Я бы рекомендовал это со всеми вашими приложениями, потребляющими услуги.