Это не объединение, как SqlConnection, если это то, что вы имеете в виду.
[Предостережение: Я использую «соединение» здесь свободно означает логическое соединение, не обязательно физическое соединение]
Между использованием подключения по требованию, и держать один вокруг, есть свои преимущества и недостатки обоих подходы. В инициализации соединения есть некоторые накладные расходы, поэтому, если вы делаете 5 вещей, вы должны попытаться сделать их на одном и том же прокси-сервере, но я бы не использовал долгосрочный прокси-сервер только ради этого.
В частности, с точки зрения управления жизненным циклом, когда прокси-сервер сработал, он остается неисправным - поэтому вам нужно будет восстановиться после случайного сбоя (что следует ожидать). Точно так же в некоторых конфигурациях (некоторые комбинации сеанса/instancing) соединение имеет определенный след на сервере - поэтому для улучшения масштабируемости вы должны поддерживать связь недолго. Конечно, для true масштабируемости вы обычно хотели бы отключить эти параметры в любом случае!
Стоимость создания соединения также зависит от таких вещей, как режим безопасности. IIRC, было бы дороже открыть двустороннее проверенное соединение с использованием безопасности сообщений, чем для создания соединения TransportWithMessageCredential, поэтому здесь очень много значит «YMMV».
Лично я считаю, что самая большая распространенная проблема с производительностью прокси-сервера не имеет ничего общего со временем, чтобы настроить соединение - это болванка API. т.е.
Сценарий:
- открыть соединение
- выполнить 1 операцию с большой полезной нагрузкой (т.е. сообщение, что означает «сделать эти 19 вещей»)
- закрыть Прокси-сервер
Сценарий B:
- Открыть контакт nnecton
- выполнять 19 операций с небольшими полезными нагрузками
- закрыть соединение
Тогда сценарий А, как правило, значительно быстрее из-за латентности и т.д. И ИМО даже не думать о распределенных транзакций через WCF; -p
Будет проверять ответы на 3 ответа завтра и даст мое мнение о том, какой из них лучше. :) – 2008-11-09 23:30:36