Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET-从外部应用程序访问会话变量_C#_Asp.net_Web Services_Session - Fatal编程技术网

C# ASP.NET-从外部应用程序访问会话变量

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

我试图在ASP.NET中编写一个web服务,使外部应用程序能够访问会话变量,例如当前登录的用户

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

然而,经过长时间的搜索,我找不到一种只使用SessionID访问会话变量的方法。这是真的吗?如果是这样的话,有没有其他方法可以让我编写一个访问会话变量的服务


谢谢,

如果您使用的是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);然后可以直接查询该会话信息。