C# ASP.NET-从外部应用程序访问会话变量
我试图在ASP.NET中编写一个web服务,使外部应用程序能够访问会话变量,例如当前登录的用户 我认为正确的方法是将带有SessionID的cookie传递给web服务(或SessionID本身),并让web服务返回Session对象的参数 然而,经过长时间的搜索,我找不到一种只使用SessionID访问会话变量的方法。这是真的吗?如果是这样的话,有没有其他方法可以让我编写一个访问会话变量的服务C# ASP.NET-从外部应用程序访问会话变量,c#,asp.net,web-services,session,C#,Asp.net,Web Services,Session,我试图在ASP.NET中编写一个web服务,使外部应用程序能够访问会话变量,例如当前登录的用户 我认为正确的方法是将带有SessionID的cookie传递给web服务(或SessionID本身),并让web服务返回Session对象的参数 然而,经过长时间的搜索,我找不到一种只使用SessionID访问会话变量的方法。这是真的吗?如果是这样的话,有没有其他方法可以让我编写一个访问会话变量的服务 谢谢,如果您使用的是SQL会话存储,您可以通过会话id查询会话数据库 select s.[Sess
谢谢,如果您使用的是SQL会话存储,您可以通过会话id查询会话数据库
select
s.[SessionItemShort]
,s.[SessionItemLong]
from [ASPStateTempSessions] as s
where s.[SessionId] = @sessionId
iirc,SessionItemShort是一个varbinary,而SessionItemLong是一个图像。。。如果会话项大于varbinary(7000),它将存储在SessionItemLong中。您的web方法是否具有属性
[WebMethod(EnableSession=true)]
此外,你还可以进行无烹饪课程
我认为您需要将会话存储在数据库中(而不是InProc);然后可以直接查询该会话信息。