2012-03-02 3 views
2

У меня есть 6 веб-сервисов WCF в моем веб-приложении.Услуги WCF на том же компьютере

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

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

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

Вопрос в том, можно ли эти веб-сервисы называть «не-http-overheady», так как они все равно живут на одной машине?

+0

Я предполагаю, что это не возможно, то. –

+0

вы можете попробовать обслуживать веб-службы на другом сайте и пуле приложений для проблемы с производительностью. –

+0

Все 6 веб-сервисов находятся на отдельном сайте на той же машине. –

ответ

3

правила большого пальца при выборе конечной точки»Связывание WCF

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

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

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

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

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

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