С момента выпуска WCF режим управления экземплярами по умолчанию для WCF изменился с «На вызов» на «Сессия»? - PullRequest
2 голосов
/ 19 мая 2011

В этой статье ( ссылка ) Джувал Лоуи утверждает, что по умолчанию используется PerCall.Однако в текущей документации ( ссылка ) значение по умолчанию описывается как PerSession.

Это что-то изменилось после выпуска WCF?Если да, кто-нибудь знает обоснование?

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

Спасибо за любое освещение!

ОБНОВЛЕНИЕ: Я действительно нашел именно то, что искал и добавил в качестве ответа.Спасибо!

Ответы [ 3 ]

3 голосов
/ 19 мая 2011

Я действительно нашел ответ, который искал:

Проверьте эту ссылку .

Мы изменили это в июньской ОСАГО.Вот причина:

"С PerCall пользователи, которым требовался сеанс в их ServiceContract, получали бы сеанс, который длился один вызов, если только они не изменили InstanceContextMode на PerSession. новый по умолчанию для PerSession, пользователи, которым требуется сеанс, получат время жизни экземпляра, привязанное к времени жизни сеансового канала, как они ожидают.время жизни экземпляра, похожее на PerCall. Преимущество этого изменения заключается в том, что пользователи получают ожидаемое время жизни экземпляра, как только они устанавливают требования к сеансу в договоре, без необходимости настраивать InstanceContextMode. "

1 голос
/ 19 мая 2011

Я могу заверить вас, что по умолчанию для каналов basicHttp используется PerCall просто потому, что привязки basicHttp не поддерживают создание экземпляров PerSession. У меня есть служба, работающая с этой конфигурацией. Смотрите этот блог

1 голос
/ 19 мая 2011

Я думаю, что логика в том, что ServiceBehavior по умолчанию - perSession, однако сеанс для ServiceContract - NotAllowed, что делает его действительным для вызова.

Глядя на ссылку MSDN, вы можете увидеть для всех версий платформыПо умолчанию ServiceBehavior всегда был perSession.

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