繁体   English   中英

Web请求中的静态变量

[英]Static variables in web requests

静态公共类中的静态公共变量如何在C#MVC3 Web项目中的Web请求之间表现。 这些类型的变量是否在请求之间保留了值?

以最简单的形式回答你的问题; 是。 任何静态的东西都会持续存在:

  • 请求之间
  • 遍及所有用户

它们不会在同一应用程序的不同实例之间共享(例如,在负载平衡的情况下),并且当应用程序池回收时它们丢失它们的值。

一般来说,尝试使用静态变量来保持状态是个坏主意,除非你有一个非常具体的理由这样做。

如果您正在考虑使用静态变量来保存请求之间的用户特定数据, 请不要 因为它们是跨线程共享的(因此跨越请求和用户),所以只要有多个用户,就会引入竞争条件。

选择其他形式的存储,例如会话状态,cookie或 - 更好的是 - 数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM