来自经典ASP背景我对将对象放入Session非常谨慎。
在.NET中将Dictionary类型的对象存储到Session中是不是一个坏主意?
答案 0 :(得分:3)
好吧,你不会遇到一些ASP问题。 .net不是STA COM,因此您使用ASP的线程关联性问题不会对您造成伤害(除非您尝试在会话中或字典中存储STA COM对象)。
但是请注意并发访问。如果多个线程可以访问字典(对异步页面代码,或者可能是AJAX调用),那么您将需要对字典应用适当的锁定。
答案 1 :(得分:1)
嗯,这取决于你想要实现的目标,对于简单的事情,例如在页面回发之间保持状态,我建议你使用ViewState。
答案 2 :(得分:0)
您可以将任何内容放入会话中......您只需确保不会将太多数据放入Session,因为这会占用服务器资源。这是在首次测试您的站点时不可见的,只有当您部署它并且许多用户开始使用它时,因为每个用户在服务器上都有自己的Session对象。
答案 3 :(得分:0)
大局问题与传统ASP并没有什么不同(尽管我承认我没有考虑the differences that JMarsch raised)。答案取决于许多因素: