ASP.NET - доступ к переменным сеанса из внешнего приложения - PullRequest
3 голосов
/ 06 мая 2011

Я пытаюсь написать веб-службу в ASP.NET, которая позволяет внешнему приложению получать доступ к переменным сеанса, таким как пользователи, которые в данный момент вошли в систему.

Я подумал, что правильный способ сделать это - передать файл cookie с SessionID в веб-службу (или сам SessionID) и получить от веб-службы параметры возврата объекта Session.

Однако после продолжительного поиска я не смог найти способ доступа к переменным Session только с помощью SessionID. Это правда? Если так, есть ли альтернативный способ написать сервис, который будет обращаться к переменным сеанса?

Спасибо,

Ответы [ 2 ]

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

Есть ли у вас атрибут [WebMethod(EnableSession = true)] для вашего веб-метода?

Переменные сеанса и веб-службы

Кроме того, вы можете проводить сеансы без Cookie.

http://msdn.microsoft.com/en-us/library/aa480509.aspx

0 голосов
/ 06 мая 2011

Лично, если вы используете хранилище сеансов SQL, вы можете просто запросить базу данных сеансов по идентификатору сеанса ...

select
 s.[SessionItemShort]
,s.[SessionItemLong]
from [ASPStateTempSessions] as s
where s.[SessionId] = @sessionId

iirc, SessionItemShort - это varbinary, а SessionItemLong - это изображение ..... если элемент сеанса больше чем varbinary (7000), он вместо этого будет сохранен в SessionItemLong.

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