ASP.NET - 从外部应用程序
问题描述:
我试图写在ASP.NET Web服务使外部应用程序来访问会话变量,如当前登录的用户访问会话变量ASP.NET - 从外部应用程序
我认为这样做的正确方法是将具有SessionID的cookie传递给Web服务(或SessionID本身),并让Web服务返回Session对象的参数。
但是,经过长时间的搜索后,我找不到一个只用SessionID访问Session变量的方法。这是真的?如果是这样,是否有另外一种方法可以让我编写一个访问会话变量的服务?
谢谢
答
副手,如果你使用SQL会话存储你可以只通过查询会话ID会话数据库...
select
s.[SessionItemShort]
,s.[SessionItemLong]
from [ASPStateTempSessions] as s
where s.[SessionId] = @sessionId
IIRC,SessionItemShort是VARBINARY而SessionItemLong是一个图像...如果会话项大于varbinary(7000),它将存储在SessionItemLong中。
答
您是否有属性[WebMethod(EnableSession = true)]
为您的网络方法?
Session Variables and Web Services
此外,您还可以做Cookie会话。
我想你会需要到存储在数据库(而不是InProc方式)您的会议;那么您可以直接查询该会话信息。 – Tejs 2011-05-06 19:39:20