gpt4 book ai didi

asp.net-mvc - 在MVC中使用Session对象,真的很糟糕吗?

转载 作者:行者123 更新时间:2023-12-02 01:42:46 24 4
gpt4 key购买 nike

我建议在 MVC3 中使用一个简单的 session 对象来维护 RecordIds 等状态数据,而不是通过所有客户端页面传递它们,这会很麻烦。只填充 session 对象一次直到不再使用似乎要简单得多。

那么这是可以接受的做法还是作弊?

非常感谢。

最佳答案

就像开发人员生活中的一切一样,使用 session 是一种权衡,恕我直言,这通常是一个糟糕的选择。

session 状态不仅会导致服务器上的负载趋于增长并产生可伸缩性障碍(这两个问题都可以通过使用状态服务器或 SQL Server 存储 session 变量来部分解决),它有一个并非每个人都设计的怪癖知道:它维护 session 的读写锁。(http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100).aspx)

这意味着默认情况下,同一用户不能发出两个并发请求。此行为与 ASP.NET 相关(不仅仅是 ASP.NET MVC),但是由于 ASP.NET MVC 确实鼓励您走 Ajax 之路,因此您会更频繁地看到此问题)。

您可以巧妙地使用 readonly session state or selectively disabling it 来绕过这些问题,但根据我的经验,这会产生开发开销,因为该属性只能在类范围内声明,而不能针对特定的操作方法声明,这会导致您分解通常放在一起的逻辑单元。

总之,尊敬的,asp.net session 状态默认行为是有问题的。如果可能的话避免使用它。

关于asp.net-mvc - 在MVC中使用Session对象,真的很糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15878252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com