2009-12-20 3 views
3

Я собираюсь запустить свой первый веб-сервис в ASP.NET. при поиске в google он показываетASP.NET 3.5 Веб-службы

RestFul Service 

SOAP services 

WCF 

Какая из них стабильна?

+0

(ответил на комментарий) –

ответ

4

Определение "стабильный" ;-p

Если вы имеете в виду "время в поле", то для .NET заказ будет SOAP (ASMX), WCF, REST

Обратите внимание, что существует большой сдвиг между службами REST, ориентированными на данные (типичными для служб данных ADO.NET) и WCF/asmx, которые ориентированы на работу.

REST, возможно, более гибкий для вызывающего абонента; WCF/asmx имеет более жесткий контроль (с точки зрения раскрытия скрытых операций). Оба имеют свои места, но I , как правило,, чтобы по-прежнему использовать по умолчанию ориентированный на работу подход (через WCF) (определенное количество вещей для тестирования и т. Д.).

WCF немного развит, чем оригинальные веб-сервисы, предлагаемые в .NET, и имеет лучшую поддержку WSE (хотя asmx можно расширить через WSE3). Если вы начинаете сегодня, WCF будет лучшим выбором, чем asmx в большинстве случаев.

+0

Я имею в виду, который стоит использовать. – Peter

+2

Это зависит от того, что вы хотите. WCF будет моим дефолтом, с ADO.NET Data Services **, если ** вы понимаете аспекты безопасности данных. –

+0

ой! Нет, я не хочу идти за ADO.NET Data Service с Entity Framework, так как стартер будет бить мою голову. Просто я смотрел несколько MSDN-видео на Entity Framework. Мой план состоит в том, чтобы использовать службы данных WCF вместе с LINQ to SQL. Просто я ищу некоторые статьи, чтобы увидеть, что это возможно или нет. Спасибо Marc за ваш ответ. – Peter

4

Определенно идти с WCF - это настоящая и будущая технология для межмашинной связи.

Вопрос SOAP vs. REST немного напоминает ручную или автоматическую коробку передач - это зависит от ваших потребностей и предпочтений.

SOAP в целом немного более крепкий - он имеет такие вещи, как WSDL и XSD - схемы и метаданных четко и определенно описать услугу и все его методы и все свои данные по рукам. Очень полезно в корпоративных средах.

REST С другой стороны, это гораздо более доступный, простой в понимании подход Just-point-your-code-at-a-URL-and-get-XML-back. Хорошо работает, он почти правдоподобен, меньше накладных расходов, но также и меньше «безопасности», поскольку на самом деле практически нет метаданных, описывающих услугу, либо вы сами знаете это, так как вы являетесь автором службы, или у поставщика услуг есть хорошая документация где-то.

Таким образом, нет явного победителя на мой взгляд - выберите тот, который ближе к вашим потребностям и вашим предпочтениям.