只是想确保我在这里没有假设一些愚蠢的事情,在 ASP .Net Web 应用程序中实现单例模式时,静态变量范围仅适用于当前用户会话,对吧?如果第二个用户正在访问该站点,那么它是不同的内存范围......?
静态成员仅具有当前工作进程的作用域,因此与用户无关,因为其他请求不一定由同一个工作进程处理。
- 为了与特定用户和跨请求共享数据,请使用 HttpContext.Current.Session。
- 为了在特定请求中共享数据,请使用 HttpContext.Current.Items。
- 为了在整个应用程序中共享数据,要么为此编写一个机制,要么将 IIS 配置为与单个进程一起工作并编写一个单例/使用应用程序。
顺便说一句,工作进程的默认数量是 1,所以这就是为什么网络上很多人认为静态成员具有整个应用程序的范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)