Какое состояние содержится в объекте клиента WCF? - PullRequest
0 голосов
/ 17 июля 2010

Как видно из заголовка, мне любопытно узнать, какое состояние содержится в прокси-объекте клиента WCF. Должен ли я быть новичком, небрежно обращаясь с этими тоннами?Или они более тяжелые, и я не должен быть настолько кавалером в их создании?

1 Ответ

3 голосов
/ 17 июля 2010

Не так много на самом деле - ссылка на канал связи, это состояние - вот и все.Как правило, WCF не имеет состояния, поэтому ваш клиент и сервер не будут зависеть от состояния.

Стоимость создания прокси на стороне клиента состоит из двух частей:

  • во-первых, необходимо создать ChannelFactory<T> (где T - ваш контракт на обслуживание, например, IMyService).Эта часть довольно тяжелая, поэтому если вы можете кэшировать фабрику каналов

  • секунду, фабрика каналов используется для создания фактического канала - это довольно простая операция, и вы не должныНе пытайтесь кэшировать это.

Если вы использовали Add Service Reference функциональность в Visual Studio или svcutil.exe в командной строке, вы обычно получаете (YourService)Client class - это, по сути, инкапсулирует эти два шага для вас.

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

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