2011-05-06 117 views
3

我试图写在ASP.NET Web服务使外部应用程序来访问会话变量,如当前登录的用户访问会话变量ASP.NET - 从外部应用程序

我认为这样做的正确方法是将具有SessionID的cookie传递给Web服务(或SessionID本身),并让Web服务返回Session对象的参数。

但是,经过长时间的搜索后,我找不到一个只用SessionID访问Session变量的方法。这是真的?如果是这样,是否有另外一种方法可以让我编写一个访问会话变量的服务?

谢谢

+2

我想你会需要到存储在数据库(而不是InProc方式)您的会议;那么您可以直接查询该会话信息。 – Tejs 2011-05-06 19:39:20

回答

0

副手,如果你使用SQL会话存储你可以只通过查询会话ID会话数据库...

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

IIRC,SessionItemShort是VARBINARY而SessionItemLong是一个图像...如果会话项大于varbinary(7000),它将存储在SessionItemLong中。

相关问题