【问题标题】:Session_end with cookies values带有 cookie 值的 Session_end
【发布时间】:2014-05-06 19:49:12
【问题描述】:

我正在尝试使用全局 asax 上的 session_end 方法保存以 sql server 结束的用户会话数据。

问题是 im saving user name incookies 的值,当会话结束时它无法达到这个值,引用为空,

我的问题是我可以通过什么方式保存会话使用的用户名,以便稍后我可以将其放入session_end 方法中。

【问题讨论】:

    标签: asp.net session cookies


    【解决方案1】:

    用户登录后,会话开始。 那时您可以在 cookie 中存储价值

    HttpCookie aCookie = new HttpCookie("userName");
    Response.Cookies["userName"].Value = "fooName";
    

    添加 cookie

    Response.Cookies.Add(aCookie);
    

    【讨论】:

    • OP 已将值存储在 cookie 中,但现在想在 Session_End 期间访问它们 - 由于没有 HttpContext,这将无法正常工作。
    • HttpContext 中没有,所以我的问题是如何避免使用 cookie 来访问它们
    • 所以让我在我的代码中明确你想存储 sessionb 值而不是“fooName”?还是?
    【解决方案2】:

    您将需要(也)将这些值存储在 Session 中。

    您无法从 Session_End 访问 cookie,因为该事件(默认情况下)在最新请求完成 20 分钟后触发。所以现在你没有 HttpContext 了。

    您真的想要在存储之前这么久吗? Session_End 不是很可靠,仅适用于“InProc”会话。

    【讨论】:

    • its not important to me if a value is taken from cookies,im 试图在 sql server 中保存退出的日期时间和用户名,如果可以用另一种方式进行,我会这样做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2021-05-06
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多