2010-09-17 4 views
0

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

Поэтому у меня есть два вопроса:

  1. Это лучший метод потребления WCF.
  2. Если ответ на первый вопрос - да, то какова роль svcutil.exc, я имею в виду, что такое использование создания прокси-класса wcf. и если ответ «Нет», то почему?

ответ

0

Вы должны использовать «Добавить Служба Ссылка« в Visual Studio (не Добавить веб-ссылку) для WCF.

Это самый простой способ - так как вы можете сделать это прямо в Visual Studio. То, что он делает под обложками, в основном вызывает svcutil.exe (или вы можете сделать это вручную, из командной строки самостоятельно) и создать прокси-класс службы для использования на стороне клиента.

Использование svcutil.exe много раз - вы можете создать прокси-класс клиента из запущенной службы (или из существующего файла WSDL/XSD), вы можете проверить службы, вы можете экспортировать метаданные из службы для клиентов, чтобы потреблять , и многое другое. Это «швейцарский армейский нож» инструментов WCF.

WCF использует концепцию, согласно которой все вызовы вашей службы должны проходить через прокси-сервер клиента - это место, где живет вся среда выполнения WCF, и где находятся все точки расширения WCF. Этот прокси преобразует ваш вызов на метод на клиенте в сериализованное сообщение, которое отправляется по сети на сервер для обработки, а также обрабатывает «распаковку» ответа от обратного вызова на классы и объекты на вашей стороне клиента для вашего использовать.

+0

спасибо за ваш ответ. Хорошо, что я понимаю от вас, что нет существенной разницы между потреблением wcf-методов. Я прав ? –

+0

Использование «Добавить служебную ссылку» или использование «svcutil.exe» в основном дает вам те же результаты, да. Используйте то, что лучше всего подходит для вас. –

1

Это самое простое решение, если вы разрабатываете визуальную студию и получаете доступ к удаленной службе WCF.

Если вы работаете с другой IDE, вы можете использовать SvcUtil для генерации ваших прокси.

Если вы предпочитаете иметь простой файл CS, содержащий сгенерированный клиент, вы также можете сгенерировать его с помощью SvcUtil.

Вы также можете полностью игнорировать SvcUtil и мастер справки по сервисам и использовать класс ChannelFactory для генерации прокси динамически.

+0

спасибо, в чем преимущество использования канала Factory class. Генерировать прокси динамически, что это значит? –

0

Добавление ссылки на обслуживание является самым быстрым и простым способом, но не всегда лучшим способом. Если вам нужна производительность, то использование ChannelFactory<T> - это путь. Вы должны знать разные способы создания прокси-сервера и настроек клиента, которые вы можете сделать.
Отличный ресурс WcfGuidanceForWpf. Не позволяйте WPF в этом пугать вас, так как это действительно отличное руководство для общего WCF.

Смежные вопросы