Подтвердить что ты не робот

WCF - net.pipe против net.tcp против http Bindings

Я новичок в WCF и хотел бы знать различия/преимущества/ограничения/etc каждого из следующих привязок:

net.pipe
net.tcp
http

Приветствуются сценарии поддержки того, когда использовать каждую привязку и другие примеры.

4b9b3361

Ответ 1

Хотя это не очень удобно для предоставления конкретных примеров использования, вот ссылка из MSDN, в которой перечислены все функции для привязок.

http://msdn.microsoft.com/en-us/library/ms730879.aspx

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

Flowchart

Источник: http://bloggingabout.net/blogs/dennis/archive/2006/12/01/WCF-Binding-decision-chart.aspx

Вот хорошая общая статья, которую я использовал в прошлом.

http://mkdot.net/blogs/dejan/archive/2008/03/31/wcf-binding-decision.aspx (или здесь в обратном пути если ссылка больше не работает для вас).

Ответ 2

net.pipe, быстро и безопасно, потому что ваш веб-сервис недоступен из сети (как правило, вы будете использовать net.pipe для быстрого взаимодействия с услугой Windows).

http, вы будете использовать его по соображениям совместимости, если ваш веб-сервис не превышает HTTP, Silverlight или Flash не могут его использовать (потому что браузер фильтрует не-http-пакеты, как это делает брандмауэр).

net.tcp, немного быстрее, потому что ваше сообщение о мыле не обернуто внутри HTTP-запроса, но вы не можете вызывать ваш веб-сервис с помощью технологии RIA, а некоторые брандмауэры будут отбрасывать ваше сообщение.

Ответ 3

Windows Communication Foundation (WCF) - это среда для создания служб, обрабатывающих XML-сообщения. WCF позволяет передавать сообщения с использованием разных транспортных протоколов (например, HTTP, TCP и MSMQ) и использовать различные представления XML (такие как текстовые, двоичные или MTOM, которые обычно называются кодировкой сообщений в WCF.

Если вы хотите разместить много служб WCF на одном компьютере и хотите, чтобы они использовали разделяемую память для связи, используйте именованный pipe = > net.pipe, а затем используйте tcp для связи с службами WCF на разных компьютерах.

Конфигурация привязки nettcp фокусируется на создании стека каналов, который будет лучше работать в средах Windows, предоставляя вам отличный вариант для замены ваших различных удаленных инвестиций COM + и .NET.

BasicHttpBinding был разработан для сценариев, где интероперабельность имеет первостепенное значение. В результате BasicHttpBinding использует HTTP для транспорта и текст для кодировки сообщения.