mig*_*eia 3 c# static-members asp.net-mvc-3
静态公共类中的静态公共变量如何在C#MVC3 Web项目中的Web请求之间表现.这些类型的变量是否在请求之间保留了值?
以最简单的形式回答你的问题; 是.任何静态的东西都会持续存在:
它们不会在同一应用程序的不同实例之间共享(例如,在负载平衡的情况下),并且当应用程序池回收时它们将丢失它们的值.
一般来说,尝试使用静态变量来保持状态是个坏主意,除非你有一个非常具体的理由这样做.
如果您正在考虑使用静态变量来保存请求之间的用户特定数据,请不要.因为它们是跨线程共享的(因此跨越请求和用户),所以只要有多个用户,就会引入竞争条件.
选择其他形式的存储,例如会话状态,cookie或 - 更好的是 - 数据库.