为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET MVC中的会话变量

ASP.NET MVC中的会话变量

拉莫斯之舞 2019-07-23 18:03:40
ASP.NET MVC中的会话变量我正在编写一个Web应用程序,允许用户浏览网站内的多个网页,提出某些请求。用户输入的所有信息都将存储在我创建的对象中。问题是我需要从网站的任何部分访问此对象,我真的不知道实现这一目标的最佳方法。我知道一个解决方案是使用会话变量,但我不知道如何在asp .net MVC中使用它们。我会在哪里声明会话变量?还有其他方法吗?
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

我认为你会想到事情是否真的属于会话状态。这是我发现自己经常做的事情,这是一个很好的强类型方法,但是在把事情放在会话上下文时你应该小心。不是所有东西都应该只是因为它属于某个用户。

在global.asax中挂钩OnSessionStart事件

void OnSessionStart(...){
    HttpContext.Current.Session.Add("__MySessionObject", new MySessionObject());}

从HttpContext.Current属性!= null的代码中的任何位置,您都可以检索该对象。我用扩展方法做到这一点。

public static MySessionObject GetMySessionObject(this HttpContext current){
    return current != null ? (MySessionObject)current.Session["__MySessionObject"] : null;}

这样你就可以在代码中

void OnLoad(...){
    var sessionObj = HttpContext.Current.GetMySessionObject();
    // do something with 'sessionObj'}


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 551 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信