gpt4 book ai didi

c# - .NET 中的单例在所有 session 之间共享吗?

转载 作者:行者123 更新时间:2023-11-30 15:07:49 24 4
gpt4 key购买 nike

我正在创建一个单例来保存从缓存的 xml 文件中提取数据的 linqtoumbraco 数据上下文。

我了解如何创建单例类并使用锁来防止新线程创建新实例。

我不了解多线程以及 .NET session 如何工作得很好,我想知道如果我如上所述创建单例,它是否会被所有访问我的网络应用程序的用户共享,同时应用程序池仍然存在?换句话说,单例不仅仅是一个用户 session 的单例,它是所有 session 的单例?

谢谢

最佳答案

是的,静态成员为整个 ASP.Net 应用程序共享

另一种方法是在 HttpContext.Current.Application 中创建和分配数据上下文,您可以在任何 session 中从任何地方获取它

但是仔细想想,难道所有客户端都只读取xml文件吗?如果一个客户在另一个客户写作的时候正在阅读怎么办?或者 datacontext 是否支持多线程读取?在以静态方式使用该数据上下文之前,您应该回答所有这些问题

关于c# - .NET 中的单例在所有 session 之间共享吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com