【发布时间】:2015-07-02 06:48:32
【问题描述】:
我在 MVC 学习期间遇到了这个问题。 b有可能是正确答案吗?
您正在设计一个分布式应用程序。应用程序必须存储安全信息 特定于个人用户。用户注销时必须自动清除数据。你 需要将瞬态信息保存在安全的数据存储中。您应该使用哪个数据存储?
A.会话状态
B.数据库存储
C.个人资料属性
D.应用状态
谢谢,
【问题讨论】:
标签: asp.net-mvc-4 model-view-controller
我在 MVC 学习期间遇到了这个问题。 b有可能是正确答案吗?
您正在设计一个分布式应用程序。应用程序必须存储安全信息 特定于个人用户。用户注销时必须自动清除数据。你 需要将瞬态信息保存在安全的数据存储中。您应该使用哪个数据存储?
A.会话状态
B.数据库存储
C.个人资料属性
D.应用状态
谢谢,
【问题讨论】:
标签: asp.net-mvc-4 model-view-controller
如果“必须在用户注销时自动清除数据”,那么实际上不需要 B 或 C。D(应用程序状态)在用户之间是单一的,所以最好的选择是 A。
来自 MSDN
...应用程序状态是存储少量常用数据的有用地方,这些数据不会从一个用户更改为另一个用户。有关按用户保存数据的信息,请参阅ASP.NET Session State Overview 和ASP.NET Profile Properties Overview。 [Ref]
这表明 A 和 C 是可能的,但是 -
[配置文件属性] 与会话状态类似,但配置文件数据不会在用户会话到期时丢失。 [Ref]
不满足,“必须在用户注销时自动清除数据。”,留下 A 作为合适的答案。
【讨论】:
我对这个问题的看法:asp.net中的会话可以配置为将信息存储在数据库中,默认情况下它存储信息在进程中,不适合分布式应用程序。 因此,单独的会话选项不适合。但是 db 选项可以与 session 一起使用:这将满足用户从一侧注销后清除信息的条件,并从另一侧将信息存储在安全存储 (db) 中。
更新。如果我可以选择多个选项(每个选项作为解决方案的一部分),我会选择会话 + 状态服务器或数据库。但是因为我只能选择一个答案,所以我更喜欢会话。
【讨论】:
B 可能是一个有效的答案,但 A 是更好的选择。
【讨论】: