как использовать сессию ASP.NET в WCF? - PullRequest
1 голос
/ 05 августа 2009

как я могу использовать сессию ASP.NET в WCF? или есть какой-нибудь альтернативный способ использовать структуру "ASP.NET Session" в WCF, такую ​​как хранилище данных?

Ответы [ 3 ]

3 голосов
/ 05 августа 2009

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

3 голосов
/ 05 августа 2009

Вы не можете использовать сеанс ASP.NET, так как вы можете легко запустить службу WCF без запуска механизма ASP.NET, например. используя netTcpBinding.

Однако в WCF существует собственная обработка сеанса, где вы можете указать это в контракте на обслуживание, используя параметр SessionMode в атрибуте ServiceContract.

Подробнее см. http://msdn.microsoft.com/en-us/library/ms733040.aspx

0 голосов
/ 30 апреля 2010

В случае, если кто-то все еще сталкивается с этой проблемой (пытается использовать переменную SESSION в .NET Web App, использующей службу WCF). Не беспокойтесь о [AspNetCompatibilityRequirements .......] или о добавлении aspNetCompatibilityEnabled = "true" в web.config.

Поработав со всем этим некоторое время, я обнаружил, что все, что мне нужно было сделать, это заменить каждый [WebMethod] в _______. ASMX.CS на [WebMethod (EnableSession = true)].

Поэтому измените [WebMethod] на [WebMethod (EnableSession = true)]. Вот и все.

Я узнал, что из http://weblogs.asp.net/stevewellens/archive/2009/04/05/using-session-state-in-a-web-service.aspx

Спасибо!

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