Ответ 1
Это действительно зависит от типа приложения, которое вы пишете. Я бы фактически утверждал обратную позицию LukLed - службы на основе SOAP лучше подходят для внутренних клиентов, когда вы хотите поддерживать такие вещи, как Windows Authentication, или разные протоколы, такие как TCP или MSMQ.
Использование более веб-стиля GET и POST вокруг определенных "ресурсов" начнет вас в архитектурный стиль REST. Этот метод имеет несколько отличительных преимуществ для меня:
- Ответ обычно меньше, особенно при использовании таких легких форматов, как JSON
- Из-за простоты запросов и ответов это значительно упрощает использование в мобильных/родных приложениях (см. Twitter API, например)
- Созданная вами служба может быть самоописательной и обнаруживаемой, поскольку вы можете ссылаться на другие части вашего API, как на обычные веб-страницы.
Одна статья, которая особенно помогла мне понять компромиссы здесь, - это Мартин Фаулер "Шаги к славе REST" . Как говорится, это может или не может быть подходящим для вашего приложения.
Если вы решили создать более основанную на REST службу, обязательно рассмотрите возможность использования ASP.NET Web API, встроенного в MVC4, как другие упомянув. В настоящее время он работает в бета-версии, но Microsoft чувствует себя достаточно хорошо, чтобы дать ему лицензию на go-live.
UPDATE:
Так как ядро ASP.NET, веб-API ASP.NET был интегрирован в проект MVC 6. https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6