我正在尝试在ASP.NET中编写一个Web服务,它允许外部应用程序访问会话变量,例如当前登录的用户。
我认为这样做的正确方法是将带有SessionID的cookie传递给Web服务(或SessionID本身),并让Web服务返回Session对象的参数。
但是,经过长时间的搜索后,我找不到只使用SessionID访问Session变量的方法。这是真的?如果是这样,我是否有另一种方法来编写将访问会话变量的服务?
谢谢,
答案 0 :(得分:1)
答案 1 :(得分:0)
副手,如果您正在使用SQL会话存储,您只需按会话ID查询会话数据库...
select
s.[SessionItemShort]
,s.[SessionItemLong]
from [ASPStateTempSessions] as s
where s.[SessionId] = @sessionId
iirc,SessionItemShort是一个varbinary,而SessionItemLong是一个图像......如果会话项大于varbinary(7000),它将被存储在SessionItemLong中。