我想在我的ASP.NET MVC应用程序中实现ConcurrentQueue对象。 ConcurrentQueue对象将在会话之间共享,应创建一次。在ASP.NET MVC中创建ConcurrentQueue的最佳位置是什么?
答案 0 :(得分:7)
您选择的任何类都可以包含它的实例,但最重要的是将它耦合到负责队列所用功能的类中。
例如Cache类:
public class MyCache
{
public static ConcurrentQueue Queue { get; private set; }
static MyCache()
{
Queue = new ConcurrentQueue();
}
}
这将在第一次使用MyCache类时初始化它。如果你想要更精细的谷物控制,你可以创建一个Initialize
方法,你的Global.asax.cs文件在应用程序启动时调用。
答案 1 :(得分:3)
你可以:
答案 2 :(得分:2)
文件Global.asax.cs
,protected void Application_Start()
方法重载。
另一种方法是制作Singleton / static类。