Чтобы перейти с традиционного веб-сервиса или использовать WCF в VS2008 / C # - PullRequest
8 голосов
/ 30 апреля 2009

У меня есть возможность попасть в WCF, но у меня есть ограничение по времени на поставку. Я могу предоставлять свои услуги итеративно, и если WCF - путь, я могу выиграть дополнительное время, чтобы пройти курс обучения.

Какая норма сейчас? WCF - это путь?

Ответы [ 5 ]

6 голосов
/ 30 апреля 2009

Я уже несколько раз сталкивался с этим вопросом, поэтому, исходя из своего собственного опыта и опыта других, переходите на WCF, только если вы готовы взять курс обучения. Создавать объекты не просто, очень просто и удобно в использовании. Но ...

Некоторые распространенные подводные камни:

  • Связывание по умолчанию - wsHttpBinding, которое по умолчанию защищено. Если вы хотите пойти с чем-то более традиционным, используйте базовую HTTBBinding.
  • Если вы размещаете хостинг в IIS, обязательно установите заголовок хоста, иначе все ссылки на xsd uri будут указывать на localhost или имя сервера.
  • Используйте утилиту настройки WCF, она очень поможет при настройке конечных точек.
4 голосов
/ 30 апреля 2009
  • Microsoft заявила, что WCF является заменой веб-служб.
  • Замена веб-служб сделает службы WCF не особенно сложными после изучения базового синтаксиса.
  • Сервисы WCF предлагают все, что делают веб-сервисы, плюс позволяют вам развертывать один и тот же компонент в других контекстах - вы можете развернуть свой компонент как веб-сервис или подключиться к сервису Windows, чтобы предложить те же функциональные возможности для другого программного обеспечения, или пощечину он обрабатывается любым другим вашим кодом - без необходимости изменять код внутри службы.
  • WCF можно настроить для обеспечения большей безопасности.

Серьезно, возьмите копию превосходных «Программных служб WCF» Ювала Лоуи и прочитайте первую главу. Создайте несколько сервисов, и вскоре вы поймете, что это не так сложно, как кажется на первый взгляд.

WCF - это будущее компонентов в .NET. Веб-сервисы в прошлом.

3 голосов
/ 08 мая 2009

Это должно быть легко. Жаль, что это не так.

Ответ - WCF. Он заменяет старые веб-сервисы ASMX. Уже не совсем верно говорить, что WCF - это будущее, это настоящее, а ASMX - это прошлое, быстро становящееся древней историей.

Подмножество WCF, которое вам нужно научиться делать так же, как вы делали со службой ASMX, действительно очень просто.

  1. Вам не нужно знать привязку при использовании basicHttpBinding. Используя это, ваши клиентские программы могут даже продолжать использовать веб-ссылки.
  2. Вам нужно научиться не беспокоиться о деталях XML, к которому сериализуются ваши контракты данных.
  3. Вам необходимо узнать, что единственными частями DataContract, которые будут сериализованы, являются те, которые отмечены как [DataMember]. Это модель «отказа» вместо модели «отказа», которую вы имели с XML Serializer.
  4. Вам необходимо научиться определять контракт вашего сервиса с интерфейсом, помеченным [ServiceContract]
  5. Вам не нужен класс [WebService], а просто класс, реализующий ваш интерфейс [ServiceContract].

Вот и все, правда. Вы выучите это очень быстро. В остальном это "соус". Это очень богатый соус с большим количеством "мяса", но вы можете оставить его на стороне или просто взять немного, если хотите.

1 голос
/ 30 апреля 2009

Если ваша служба должна быть доступна по нескольким протоколам связи и вам необходимо настроить безопасность, WCF - это то, что вам нужно.

Если служба просто должна быть доступна через HTTP и / или HTTPS, веб-служба ASMX будет хорошим решением, если у вас есть ограничение по времени

0 голосов
/ 08 мая 2009

Как только вы настроите WCF, это фантастика! Использование SQL & LINQ через WCF для возврата ваших данных (для меня) НАСТОЛЬКО быстрее !!

Одно замечание: сертификаты!

У нас там было много проблем! Эта ссылка помогла.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...