2010-03-31 3 views

ответ

4

В принципе, всякий раз, когда вы можете! NetTcp намного эффективнее, чем http - это кодирование двоичного кода, которое экономит много полосы пропускания, и у него есть другие свойства, которые делают его действительно очень быстрым.

Проблема: другой конец связи (у вас всегда есть сервер и клиент) также должен понимать этот протокол. Он специфичен для .NET, поэтому любой клиент не-NET не сможет его использовать.

Кроме того, NetTcp обычно не использует порт 80, поэтому, если вы хотите использовать его через Интернет, вам придется открывать порты на брандмауэрах, чтобы трафик прошел - не всегда легко и возможно.

Но если у вас сценарий интрасети - например, среда вашей компании в локальной сети - и у вас есть клиенты .NET, вызывающие ваш сервис WCF, нет причин вообще не использовать NetTcp!

+0

@marc_s спасибо за ответ, это имеет смысл –

0

NetTcpBinding является наиболее эффективным с точки зрения использования служебных данных и пропускной способности. Как только у вас есть собственный .NET-клиент, вы должны его использовать.

+0

@ Андерс, спасибо за репутацию. Родной .net-клиент, как и другая служба wcf, и может быть консольным приложением или службой Windows. в этих сценариях один shd использует tcp. любой другой лучший пример для TCP? –

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