执行多个ajax调用时,会话为null

时间:2012-10-22 12:12:13

标签: c# ajax session

请帮助,因为自上周以来我一直在疯狂,我仍然没有接近解决方案......

环境:IIS 7.5,.Net 4.0,jQuery(最新)

我有一个内部Web服务,我打电话来创建一个由许多客户及其关系组成的层次结构对象。在我的Web服务中,我将层次结构对象存储在HttpContext.Current.Session

在我的javascript之后不久,我循环了用户可见的客户。对于每个客户,我调用$ .ajax函数调用我的Web服务中的另一个过程。在C#代码中,我从HttpContext.Current.Session读取了我的层次结构对象,并使用linq读取当前客户的数据。

我的问题是HttpContext.Current.Session["hierarchy"]为某些客户返回null。即使我打的是完全相同的网址,但每次都不是同一个客户。

我在编写之后立即尝试从HttpContext.Current.Session读取层次结构,以验证我的层次结构对象中的所有内容是否实际写入HttpContext.Current.Session

我已尝试记录HttpContext.Current.Session.SessionId以验证会话是否相同且所有内容相加。

我在Default.apsx

中尝试使用EnableSessionState和不使用{{1}}

提前感谢任何能指导我正确方向的人......

./ CJ

2 个答案:

答案 0 :(得分:2)

您的网络服务是否由WCF组成?如果是这样,除非启用了asp.net兼容模式,否则根本没有会话。

答案 1 :(得分:2)

如果您使用的是ASMX Web服务(希望不是),请确保每种方法都有以下内容:

[WebMethod(EnableSession = true)]

否则,Xing对于WCF是正确的。我从经验中知道,如果不手动打开ASP.NET会话,会话将返回null。

相关问题