[英]Static Variable interference ASP.net?
我是Web开发和ASP.net的新手,但我想知道以下问题:
如果我在网页上声明静态变量,并且多个用户同时访问同一页面。 这个静态变量对每个用户都是唯一的吗?还是会干扰不同的用户?
谢谢
是的,它会干扰用户之间以及单个用户的并发请求之间的干扰。 避免ASP.NET(以及大多数其他开发)中的静态字段,除非您非常确定自己在做什么。
考虑使用会话状态来处理您在此处所做的事情,或者将某些事情作为请求本身的一部分(表单数据,cookie等)。
此静态变量是否对每个用户都是唯一的
没有。
它会干扰不同的用户吗?
是。
您可能希望使用其他一些持久性介质,如会话状态, 缓存等。
有些人在ASP.NET中的字段上使用[ThreadStatic]
属性,因此它对每个用户都是唯一的,但这很危险 ,不应该这样做。 不惜一切代价避免这样做。 我只会提起它以防其他人推荐它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.