我想在ASP.NET MVC应用程序中实现ConcurrentQueue对象。 ConcurrentQueue对象将在会话之间共享,应该创建一次。在ASP.NET MVC中创建ConcurrentQueue的最佳位置是什么?在ASP.NET MVC中创建全局对象的最佳位置
4
A
回答
7
您选择的任何类都可以包含它的一个实例,但是将它连接到一个负责任何队列功能的类中是最有意义的。
例如一个Cache类:
public class MyCache
{
public static ConcurrentQueue Queue { get; private set; }
static MyCache()
{
Queue = new ConcurrentQueue();
}
}
这将初始化它第一次MyCache类被使用。如果您想要更细粒度的控制,您可以创建一个Initialize
方法,让您的Global.asax.cs文件在应用程序启动时调用。
2
文件Global.asax.cs
,protected void Application_Start()
方法过载。
另一种方法是创建一个单例/静态类。
3
,你可以:
- 在静态构造函数来创建它,所以它的创建,只有当一些代码实际使用的类型
- Global.asax中。
- 使用WebActivator - 您不会污染Global.asax文件,并且您可以在不同的程序集中创建队列。
相关问题
- 1. 在ASP.NET MVC中存储全局对象
- 2. 在Spring MVC中创建全局变量的最佳方式
- 3. 将域对象放置在ASP.NET MVC应用程序中的最佳位置?
- 4. 创建全局对象?
- 5. 创建全局API对象
- 6. 在Sinatra中全局创建对象
- 7. 在AngularJS中创建全局对象
- 8. 创建全局FILE *对象?
- 9. C++代码样式 - 创建对象的最佳位置
- 10. 在Python中创建对象时避免使用全局变量的位置
- 11. 最佳实践,对象设计ASP.NET MVC
- 12. 在java中创建对象的位置
- 13. 如何创建类对象在Asp.net MVC
- 14. 在asp.net-mvc中创建可重用部分的最佳方法
- 15. 如何在asp.net中创建全局过滤器mvc 3
- 16. 全局创建对象实例
- 17. 跨类创建全局对象
- 18. Rails - 如何创建全局对象
- 19. 如何创建全局参数对象
- 20. Java:创建全局图形对象
- 21. 创建全局ASP.NET函数?
- 22. Javascript对象创建最佳实践
- 23. iOS创建对象最佳实践
- 24. 全局自创对象
- 25. ASP.NET MVC在创建对象上创建重复记录
- 26. YUI库 - 保持对象的全局引用的最佳方法?
- 27. 在javascript中创建对象/结构的最佳方式
- 28. 在c中创建浮动对象的最佳方法#
- 29. ASP.NET MVC中全局错误/异常处理的最佳实践是什么?
- 30. ASP.NET MVC 2.0 JsonRequestBehavior全局设置
我应该在哪里声明一个ConcurrentQueue变量来稍后从代码中访问它? – Tomas 2012-02-29 14:01:47
对于'Global.asax.cs'方法 - 直接在Global.asax.cs中,例如在Application_start之上的一行,执行'public static ConcurrentQueue Queue {get;私人设置; }'并在Application_Start中初始化它。对于单例静态类,请参阅@ChrisS答案 – 2012-02-29 14:15:18