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

WCF - какова самая быстрая привязка?

В настоящее время у меня есть служба WCF, которая использует привязку BasicHTTP и обернута защищенным маршрутизатором/брандмауэром (PFSense).

Я слышал, что существует более быстрая привязка, чем привязка к BasicHTTP, но теперь я знаю, что это такое.

Кто-нибудь знает?

Обновление: хорошо, два отличных ответа для интрасети /localhost. Спасибо! Как насчет приложений, развернутых в Интернете? Есть ли более быстрое интернет-ориентированное решение?

4b9b3361

Ответ 1

Если ваше решение развернуто в интрасети, вы можете использовать NetTcpBinding.

http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.aspx

Хотя, возможно, не авторитарный, этот пост охватывает некоторые бенчмаркинга с этими результатами, которые согласуются с моим ответом и парапурой:

WSDualHttpBinding: Processed 1602 calls in 10 seconds
WSHttpBinding: Processed 2531 calls in 10 seconds
BasicHttpBinding: Processed 17913 calls in 10 seconds
NetTcpBinding: Processed 39957 calls in 10 seconds
NetNamedPipeBinding: Processed 48255 calls in 10 seconds

Ответ 2

На той же машине вы можете использовать NetNamedPipeBinding для максимальной производительности.

Решения для выбора транспорта

Пропускная способность измеряет объем данных, которые могут быть переданы и обработаны в течение определенного периода времени. Подобно задержке, выбранный транспорт может повлиять на пропускную способность для сервисных операций. Максимизация пропускной способности для транспорта требует минимизации как накладных расходов на передачу контента, так и минимизации времени, затраченного на ожидание обмена сообщениями. Транзиты TCP и именованных каналов добавляют небольшую часть служебных данных в тело сообщения и поддерживают собственную дуплексную форму, что уменьшает ожидание сообщений.