我一直在使用 TempData 在页面请求之间保留我的模型,否则我将无法访问我需要的模型中类的特定属性。
(这是一个轻微的题外话和简化,但基本上我有一个对象列表,它有一个 .name 和一个 .active 属性。我有一个 CheckBoxFor 的 .active 属性,它被保留了,但是 .name 属性是提交表单时设置为 null;我也需要访问该属性,所以我一直将旧模型存储在 TempData 中,然后在需要时复制该属性。有更好的方法吗?我令我感到非常惊讶的是,我正在使用的对象的属性将被取消。)
当用户选中复选框并提交表单时,该模型存储在 TempData 中。稍后,当用户单击按钮时,它会从 TempData 中读出。 (没有干预请求。)
以这种方式使用 TempData 对多个用户来说是否安全?换句话说,是否每个客户端都有自己的 TempData 副本?我担心的情况大致如下:
- 用户 1 单击复选框,将他的模型保存到 TempData
- 用户 2 单击复选框,将她的模型保存到 TempData
- 用户 1 单击按钮,提交表单并从 TempData 读取模型
我不确定用户 1 将获得哪种型号。有人可以启发我吗?
最佳答案
TempData 是 session 绑定(bind)的。用户 1 只会看到它的 TempData。
关于c# - 将值存储在 TempData 中对多个并发用户安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8663141/