【发布时间】:2009-09-13 06:22:21
【问题描述】:
我应该如何将用户数据存储在 asp.net mvc 中?假设用户希望每页查看 50 条记录。我想将它保存在 Session 中,但如果我做得对,每次初始化新控制器时 Session 都会重置。那么在哪里呢?饼干?
【问题讨论】:
标签: asp.net-mvc session cookies
我应该如何将用户数据存储在 asp.net mvc 中?假设用户希望每页查看 50 条记录。我想将它保存在 Session 中,但如果我做得对,每次初始化新控制器时 Session 都会重置。那么在哪里呢?饼干?
【问题讨论】:
标签: asp.net-mvc session cookies
通常会话不会在控制器初始化时重置!确保您没有从代码中清除会话。 无论如何,将其存储在会话中会导致记录限制经常被重置(取决于会话超时参数)。
考虑将其存储在数据库中保存的用户配置文件中(将在登录后使用)或 cookie 中(不需要使用登录)。这将永远保留此设置 - 您的用户会很感激 :)
【讨论】:
而不是使用 ASP.NET 中的内置 ProfileProvider 系统,你应该只使用你想在多次访问中持久化用户设置,你可以在会话中放置一个设置数据。也许包装在一个可序列化的对象中。
会话被清除
【讨论】:
初始化新控制器时会话不会重置。但是当您离开应用程序(您的会话结束)或应用程序重新启动时,它会发生。您应该使用 Profile 来存储此类信息。
看到这个: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx http://www.odetocode.com/articles/440.aspx
【讨论】: