静态变量干扰ASP.net?

时间:2012-07-10 12:49:44

标签: c# asp.net

我是Web Development和ASP.net的新手 但我想知道以下问题:

如果我在网页上声明一个静态变量和几个 用户同时访问同一页面。这是静态的吗? 每个用户唯一的变量或它会干扰 不同的用户?

由于

2 个答案:

答案 0 :(得分:7)

是的,它会干扰用户之间以及单个用户的并发请求之间的干扰。除非您非常确定自己在做什么,否则请避免在ASP.NET(以及大多数其他开发)中使用静态字段。

考虑使用会话状态来处理您在此处所做的事情,或者将某些事情作为请求本身的一部分(表单数据,cookie等)。

答案 1 :(得分:2)

  

这个静态变量是否对每个用户都是唯一的

没有

  

它会干扰不同的用户吗?

您可能希望使用其他一些持久性媒介,例如会话状态,caching等。

有些人在ASP.NET中的字段上使用[ThreadStatic]属性,因此它对每个用户都是唯一的,但这是危险的,不应该这样做。不惜一切代价避免这样做。我只提出来以防其他人推荐它。