首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TempData:安全吗?

TempData:安全吗?
EN

Stack Overflow用户
提问于 2011-11-23 22:12:16
回答 4查看 9.3K关注 0票数 21

我使用TempData是为了在使用RedirectToAction时保留我的模型。它工作得很好,但我有一种纠结的感觉,那就是这可能不是正确的做法。我真的尽量避免使用会话数据,我读到过TempData使用会话。它使用起来安全吗?在负载均衡环境中使用它是否会出现问题?

琐碎问题:“安全吗?”--说出电影的名字。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-23 22:18:35

是的,TempData是由会话存储支持的,所以如果您处于负载平衡环境中,则在使用它时必须格外小心(粘滞会话、持久会话状态等)。

在使用PRG模式时,TempData已经成为事实上的选择,而且它也是为此而设计的。

至于这是不是正确的选择...这取决于你的用例!

PS马拉松人。

票数 22
EN

Stack Overflow用户

发布于 2011-11-23 22:51:57

好吧,我认为这要看情况。如果您使用负载均衡器和多个前端服务器处理大量流量,则需要避免使用会话对象,因为它可能会降低性能,并使水平扩展变得困难(场中的请求并不总是出现在同一个web服务器上)。

TempData是短暂的,如果你不在那里放置大量的对象,并且仔细考虑整个架构,那么我认为它是安全的。有很多网站广泛使用它,并且没有问题(我在共享的和专用的托管网站上工作,每天平均有50-70k访问者使用会话,通常是在同一服务器上使用web和db )。

票数 5
EN

Stack Overflow用户

发布于 2011-11-23 22:33:13

只要有可能,我就会选择一种完全无状态的方法。它更具可伸缩性,不受单个服务器问题的影响。通常,您可以只使用cookie (受到适当保护以防止篡改)来识别用户并每次从数据库中提取数据。

除此之外,我还建议你评估一下是否可以用View代替RedirectToAction。这一点:

TempData["model"] = model;
return RedirectToAction("SomeAction");

可以替换为:

return View("SomeAction", model);

当然,假设"SomeAction“是一个可以从当前控制器访问的有效视图(它要么是同一个ctrl中的一个视图,要么是在Shared中定义的视图),并且它不仅仅是一个重定向到另一个的中间操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8243613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档