asp.net - IIS 托管的 Web 应用程序中的静态变量

标签 asp.net iis multithreading static-variables

如果我在 IIS 中托管的 ASP.NET 应用程序中实例化的类型中声明静态字段,那么 IIS 使用的所有工作线程是否使用相同的变量(即相同的内存位置),从而引发并发问题?

最佳答案

是的。静态变量在整个 AppDomain 中共享,这意味着该 AppDomain 中的所有工作线程共享该变量的相同“实例”。

对于高度并发的应用程序(例如 Web 应用程序)来说,静态变量通常不是一个好的选择。根据您的具体情况,请考虑 session variables .

关于asp.net - IIS 托管的 Web 应用程序中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3128977/

相关文章:

asp.net - JavaScript 和 ASP.NET 控件前缀中的 "this"

asp.net - 以编程方式将 HTML 转换为 Markdown 语法

iis - 如何通过 IIS 重写规则附加查询字符串和值?

php - 如何从 PHP 表单执行数据库插入

java - 是否可以在多线程应用程序中使用 HashMap<T>?

mysql - 验证在 login.cs 页面中不起作用

c# - 是否可以*仅**跨子域共享表单例份验证?

asp.net-mvc-4 - 更改 web.config 的 appSettings 中的值时在 IIS 中重新启动网站

java - RuleBasedCollat​​or 中的监控锁?

multithreading - 自动或手动释放 TThread