Службы WCF на одной машине - PullRequest
2 голосов
/ 02 марта 2012

В моем веб-приложении 6 веб-служб WCF.

При посещении любой страницы на моем сайте MVC3 я могу вызвать до 4 или более из этих служб WCF.

В моей рабочей среде (как и во всех моих средах) все мои веб-службы размещены на одной и той же машине (эти серверы есть на каждом сервере переднего плана).

Моя проблема в том, что сайт, над которым я работаю, работает очень медленно, и в рамках повышения производительности сайта я хотел уменьшить накладные расходы на все эти http-запросы к различным службам WCF.

У меня вопрос: можно ли называть эти веб-службы не перегруженными http, так как они все равно живут на одном компьютере?

1 Ответ

3 голосов
/ 02 марта 2012

Простые правила при выборе привязки конечной точки WCF

  • Если вам требуется, чтобы ваш сервис использовался клиентами, совместимыми с SOAP 1.1, используйте basicHttpBinding для обеспечения взаимодействия

  • Если вам требуется, чтобы ваша служба использовалась в корпоративной сети
    , используйте netTCPBinding для производительности

  • Если вам требуется, чтобы ваша служба былаиспользуется через Интернет, и клиент совместим с WCF, используйте wsHttpBinding, чтобы воспользоваться всеми преимуществами
    спецификаций WS *

  • Если вам требуется, чтобы ваша служба была доступна только вна той же машине используйте netNamedPipeBinding

  • Если вам требуется, чтобы ваша служба была в очереди сообщений, используйте netMsmqBinding

  • Если вам требуется ваша службадля работы в качестве сервера, а также клиента в одноранговой среде
    , используйте параметр netPeerTcpBinding

...