Отключить сеанс для службы WCF - PullRequest
3 голосов
/ 29 марта 2012

Я пытаюсь отключить сеанс для службы WCF, изменяя контракт на обслуживание

[ServiceContract(Namespace = "http://company.com/Services/", SessionMode = SessionMode.NotAllowed)]
public interface IService
{ }

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service: IService
{ }

Но затем я перехожу к операции с отладчиком, я вижу, что HttpContext.Current.Session является допустимым объектом.

Чего мне не хватает, чтобы отключить состояние сеанса для операции WCF?

Ответы [ 2 ]

2 голосов
/ 04 июля 2014

Это старый вопрос, но для отключения сеанса ASP.Net RequirementsMode должен быть AspNetCompatibilityRequirementsMode.NotAllowed

0 голосов
/ 30 марта 2012

Вы можете использовать контекстный режим экземпляра.см .: http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

У вас есть 3 варианта:

  • Singleton, только один экземпляр службы, общий для всех вызовов
  • на сеанс, один и тот же сеанс доклиентский прокси закрыт
  • за вызов, утилизируется, как только вызов возвращается

Звучит, что вы после того, как на вызов.Возможно, вы сможете увидеть объект сеанса в отладчике, но он будет удален, как только вызов вернется.

...