WCF - выбор наиболее подходящих привязок / кодировщиков - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть клиент-серверное приложение, в котором связь между клиентом и сервером осуществляется через WCF. Предполагается, что мои услуги WCF будут использовать только мои клиенты. т.е. я не беспокоюсь о совместимости услуг. Служба может не находиться в той же сети, что и мое клиентское приложение. И это будет размещен сервис в IIS6.0

1) Насколько большой выигрыш в производительности, если я использую двоичную сериализацию для кодирования WCF через HttpBinding (я знаю, что сообщение будет более компактным и, следовательно, меньше сетевого трафика и будет обрабатывать меньше байтов) 2) Будет ли двоичный кодировщик иметь возможность пересекать сеть / брандмауэр? (Я думаю, что это будет, потому что это все еще за Http)
3) Могу ли я использовать привязки TCP или netTcp и при этом оставаться в IIS6.0? или что такое ограничение?
4) Как лучше всего подойдет связывание для моего конкретного сценария?

Ну, я использую .net Framework 3.5 SP1

Пожалуйста, ведите меня

Спасибо и всего наилучшего

Ответы [ 2 ]

1 голос
/ 11 ноября 2009
  1. Я немного поэкспериментировал с этим, и для базового обмена сообщениями производительность двоичного кодирования по сравнению с кодировкой xml незначительна.
  2. Не должно быть проблем, если ваш брандмауэр не блокирует определенный контент на основе кодировки тела сообщения HTTP.
  3. Нет. Вам потребуется разместить в IIS7 / WAS или самостоятельно разместить службу Windows.
  4. Я бы начал с HTTP + XML. Позже изменить кодировку на двоичный код очень просто, и это никак не повлияет на реализацию вашего сервиса. Это можно сделать только в том случае, если тестирование производительности показало, что это необходимо. Что касается использования TCP / IP и HTTP, опять-таки есть некоторые накладные расходы на HTTP из-за заголовков, но опять же это незначительно. Однако, если вы выполните какой-либо мониторинг сети и обнаружите, что ваши полезные нагрузки больше, чем может выдержать ваша сеть, вы можете снова переключиться на netTcpBinding без какого-либо реального влияния на вашу реализацию. В этом красота WCF.
1 голос
/ 11 ноября 2009

(3) Нет, вы не можете размещать службы WCF с привязками TCP в IIS 6.0

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