【发布时间】:2011-06-20 20:08:57
【问题描述】:
我对 GenericHandler 和 anonymousIdentification 有疑问。
基本上,如果<anonymousIdentification enabled="true" /> 在 web 配置中打开,则每当向服务器发送 JQuery GET/POST 请求时,该请求都会在新用户和新用户会话下执行。
有没有办法缓解这种情况?我需要访问当前用户的会话变量...真是令人沮丧!
【问题讨论】:
-
我没有检查它,但我想如果你发送一个 jQuery GET 请求。从客户端然后它在当前用户上下文中处理.. 用提琴手检查正常和 jquery 请求的 ASP.net 会话 cookie 是否相同
-
所以如果你关闭匿名 ID 是否有效?您使用的是表单身份验证吗?您可以在 web.config 中关闭该特定路径的匿名功能吗?
-
我会尝试看看这是否有效@drachenstern。你错了@Shekhar_Pro。我将用户数据存储在会话中;一个值是 UserRegistratinoState。如果我来自用户刚刚注册的页面,则会话中的枚举值为 UserRegistrationState.Registered。我已经验证了这一点。但是,当我在另一个页面上从 js 调用处理程序时,处理程序中的第一行代码会检查该会话变量。如果变量不存在,它会自动返回 UserRegistrationState.Anonymous。我认为可以安全地假设来自 JQuery 的 Get 请求是在新用户下执行的。
-
发生的事情是他们没有将 cookie 发送回服务器。
-
那么我该如何缓解呢?我要发送哪个 cookie?以及如何发送?
标签: c# jquery asp.net session generic-handler