【发布时间】:2014-11-05 18:27:54
【问题描述】:
我得到的信息是,在 MVC 中我们应该避免 Sessions cos web 是“无状态的”,所以我需要在应用程序中保存数据(用户名、电子邮件和字符串列表),一旦那个静态类是最好的方法将在用户之间共享?提前致谢。
【问题讨论】:
标签: asp.net-mvc-4 session model-view-controller static-methods
我得到的信息是,在 MVC 中我们应该避免 Sessions cos web 是“无状态的”,所以我需要在应用程序中保存数据(用户名、电子邮件和字符串列表),一旦那个静态类是最好的方法将在用户之间共享?提前致谢。
【问题讨论】:
标签: asp.net-mvc-4 session model-view-controller static-methods
这里有一个关于不同数据持久性的小说明:
Data persistence choices for ASP.NET MVC web apps
当浏览器用户/客户端第一次访问您的 Web 应用程序中的资源时,ASP.NET 运行时会创建一个“会话”,它只是在有限的时间内来自同一浏览器窗口/选项卡的请求的逻辑分组时间窗口。
正如 Carrie 所说,使用会话来做你想做的事情是正确的方法。
【讨论】:
我认为您获得的信息有缺陷,但并非完全不准确。会话确实是 HTTP 作为协议所代表的一切的混蛋,但它们也是必要的邪恶。但是,应该注意的是,在 ASP 中,一般意义上的会话和对象Session 是有区别的。例如,auth 使用会话,但不使用Session。我个人的建议是避免像瘟疫这样的实际 Session 对象;这确实是所有“不要使用会话”的警告建议所针对的地方。但是,像 auth 这样的东西对于一般意义上的会话非常有用,并且可以在应用程序之间共享,只要每个应用程序使用相同的机器密钥。
【讨论】: