2015-12-16 5 views
1

создать NetTcpBinding-с на стороне клиента приложения в коде сразу после начала и ПРИМЕНЕНИЯ затем использовать его для создания канала завод поПовторное использование ФОС экземпляров Связывание класса

new ChannelFactory<TService>(binding, address) 

конструктор.

Правильно ли предварительно кэшировать эти экземпляры NetTcpBinding в некоторой коллекции List [NetTcpBinding], а затем использовать элементы этой коллекции для создания ChannelFactory несколько раз? Включает ли WCF каждый раз автоматически перезагружать таймауты и т. Д.?

Действительно ли это безопасно или безопаснее создавать новый экземпляр привязки для каждого вызова клиента?

ответ

0

Ну ... вы должны думать о привязке как конфигурации, и ничего более.

Включает ли WCF каждый раз автоматический сброс тайм-аутов и т. Д.?

Не нужно. Таймауты - это свойства соединения/канала, которые устанавливаются на основе свойств привязки.

Действительно ли это безопасно или безопаснее создавать новый экземпляр привязки для каждого вызова клиента?

это теоретически возможный безопасно, но иметь в виду, что если вы собираетесь использовать инстанс привязок, то из умолчанию ChannelFactoryне будет использовать кэш для хранения заводских экземпляров (дорогая операция).