IIS 托管的 Web 应用程序中的静态变量

发布于 2024-09-07 01:41:41 字数 93 浏览 7 评论 0原文

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

If I declare a static field in a type instantiated within an ASP.NET application, hosted within IIS, is the same variable (i.e. same memory location) used by all of the worker threads used by IIS, opening up concurrency issues?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

向地狱狂奔 2024-09-14 01:41:41

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

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

Yes. Static variables are shared across an entire AppDomain, which means all worker threads that live in that AppDomain share the same "instance" of that variable.

Static variables are generally a poor choice for highly concurrent applications, like web apps. Depending on your specific scenario, consider session variables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文