[英]Static variables in web requests
静态公共类中的静态公共变量如何在C#MVC3 Web项目中的Web请求之间表现。 这些类型的变量是否在请求之间保留了值?
以最简单的形式回答你的问题; 是。 任何静态的东西都会持续存在:
它们不会在同一应用程序的不同实例之间共享(例如,在负载平衡的情况下),并且当应用程序池回收时它们将丢失它们的值。
一般来说,尝试使用静态变量来保持状态是个坏主意,除非你有一个非常具体的理由这样做。
如果您正在考虑使用静态变量来保存请求之间的用户特定数据, 请不要 。 因为它们是跨线程共享的(因此跨越请求和用户),所以只要有多个用户,就会引入竞争条件。
选择其他形式的存储,例如会话状态,cookie或 - 更好的是 - 数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.