WebMethod返回空的HttpSession变量(而其他人则不)

时间:2019-08-07 08:19:50

标签: c# asp.net webmethod httpsession

我在aspx后面有这段代码,它具有WebMethods来接收来自AJAX请求的数据。除了我刚刚创建的返回null的变量之外,所有方法都可以访问HttpSession变量。

此新代码与可以访问数据的代码之间的主要区别是,前者从外部node.js应用程序接收数据,而其他所有代码均从发送客户端变量的JavaScript代码获取输入。

这是我用来访问HttpContext变量的方法(来自另一个类)

internal static string GetUser()
        {
            return HttpContext.Current.Session[User] as string;
        }

1 个答案:

答案 0 :(得分:1)

通常,如果您无法读取会话数据,则问题出在Cookie上,因为Cookie会将会话与用户连接起来。

因此,请检查Cookie设置,以及两次通话中使用的Cookie是否相同。例如,如果您拥有SELECT * FROM Table_A WHERE DateOfBirth BETWEEN GETDATE() AND DATEADD(day,5, Convert(Date,GETDATE())) cookie,并且您从www.domain.com发出请求,反之亦然,或者从安全页面到非安全页面发出请求,并且cookie被强制为安全的,那么所有这些都会引起问题。 / p>

因此,也请尝试在domain.com上设置不含web.config的域,并检查其余的内容。

www.

相关

Share session between ashx and aspx