我应该使用 ASP.NET 会话还是避免使用它们,为什么?
对于新的应用程序,我试着避开他们 https://stackoverflow.com/questions/526697/upgrade-from-net-3-0-to-3-5-sites-set-to-stateserver-revert-to-inproc-when-in-w并且更喜欢加密或签名的 cookie。诚然,这只是一个新发现的个人偏好:仅仅因为它又是一件需要打破的事情,并且在努力保持网站 24/7/365 运行两年后,这是唯一一个令人头疼的事情,神秘的方式。人们也很容易忘记在对象上添加 [Serializable],并在运行时尝试将它们存储在进程外会话中时观察它们的崩溃。所以可以这么说,这是另一个需要磨削的齿轮。
也就是说,我一直在使用会话years除了需要担心保持会话存储始终正常运行之外,没有任何重大问题。如果您使用 InProc,则必须担心每次应用程序池重新启动时会话都会被破坏,这可能会导致工作进程内存使用量激增,这是另一个缺点;使用其他方法之一,能够向网站发布点更新并且不影响任何客户的当前状态是件好事。
(我个人没有见过扩展会话的问题,即使在多个服务器上也是如此。但话又说回来,我为一家小企业工作[大约 3 页面浏览量/秒]。我想你通常会与数据库进行某些操作,获取会话的成本就在这次清洗中。)
因此,使用会话并不是一个糟糕的选择,您只需记住不要被它冲昏了头脑。将其视为服务器端 cookie,试图将自己限制在 4KB 左右的人为屏障。对于现有的应用程序,我当然不会费心取消它们的会话,但总的来说,我现在更喜欢保持简单并尝试不取消它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)