我想在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. 在Java中創建全局對象的最佳模式
- 2. 在ASP.NET MVC中存儲全局對象
- 3. 在Spring MVC中創建全局變量的最佳方式
- 4. ASP.NET模型 - 最佳空對象創建?
- 5. 創建全局對象?
- 6. 創建全局API對象
- 7. 在Sinatra中全局創建對象
- 8. 在AngularJS中創建全局對象
- 9. 在PHP中創建全局對象
- 10. C++代碼樣式 - 創建對象的最佳位置
- 11. 最佳實踐,對象設計ASP.NET MVC
- 12. 在Python中創建對象時避免使用全局變量的位置
- 13. 在ASP.NET MVC中定義全局常量的位置?
- 14. 在java中創建對象的位置
- 15. 創建Rails中全局對象自動
- 16. 在GWT中存儲全局所需對象的最佳實踐
- 17. 如何創建類對象在Asp.net MVC
- 18. 在ASP.Net中存儲對象列表的最佳方法MVC
- 19. 在asp.net-mvc中創建可重用部分的最佳方法
- 20. ASP.NET MVC在一個事務中創建的最佳實踐
- 21. 使創建的對象全局[C++]
- 22. 創建新的jQuery全局對象
- 23. 如何在asp.net中創建全局過濾器mvc 3
- 24. 如何在asp.net MVC 5中創建全局常量變量
- 25. 在ASP.NET中保留全局對象
- 26. 在asp.net中創建全局變量C#
- 27. 創建javascript對象的最佳方式
- 28. 保存新創建的對象ASP.NET MVC
- 29. 對象中全局變量的最佳實踐-php
- 30. 創建全局ASP.NET函數?
我應該在哪裏聲明一個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