【发布时间】:2018-04-04 16:40:47
【问题描述】:
我在 Azure 应用服务上使用 MVC 5、ASP.NET 4.7
我正在使用 ConcurrentDictionary 对象来持久化数据以保存对数据源的多次调用。
关于其行为的几个问题:
1) 一旦它被填充,那么它将持续存在,供同一个 Web 应用程序的多个用户访问。我对么?因此,只有网站重新启动后的第一个用户会受到性能影响。
2) 它会持续多久?是直到另一个池刷新或站点重新启动,还是存在某种形式的非活动超时?
提前致谢。
编辑:
public class myCache
{
private static readonly ConcurrentDictionary<int, string> myCacheDictionary = new ConcurrentDictionary<int, string>();
public static async Task populateCache()
【问题讨论】:
-
取决于变量的范围等。向我们展示您的代码。
-
我明白你在说什么。因此,在我的情况下,它被创建为类中的私有变量,因此只要该类被实例化,它就存在。我认为出于某种奇怪的原因它仍然存在于进程之外,即使调用对象已被释放。
-
它是静态的,因此一旦执行了该类型的静态构造函数,它将在应用程序域的整个生命周期内持续存在。
标签: c# asp.net asp.net-mvc asp.net-mvc-5