我通過HttpContext.Application存儲了一個保存我的應用程序參考數據的大型結構,該變量通過HttpContext.Application訪問。每過一段時間,這些數據都需要改變。當我更新它時,傳入的請求是否會有數據處於不一致狀態的危險?是否有需要(和方法)來鎖定某些或全部這種結構?最後,除了在每次需要此數據庫(大多是靜態數據)時查詢數據庫以外,是否還有其他解決此問題的方法?在ASP.Net(MVC)中修改應用程序變量
1
A
回答
1
還有其他的解決方案可用,有許多緩存提供商,您可以使用。
首先,有HttpRuntime.Cache(它與HttpContext緩存相同)。還有.NET 4中的System.Runtime.Caching.MemoryCache。
您可以爲緩存中的數據設置數據過期和其他規則。
http://wiki.asp.net/page.aspx/655/caching-in-aspnet/
http://msdn.microsoft.com/en-us/library/6hbbsfk6.aspx
http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.aspx
更高級高速緩存包括分佈式緩存。
通常,它們駐留在另一臺服務器上,但也可能駐留在同一臺服務器上的不同進程上。 這樣的提供者是AppFabric(來自Microsoft)和MemCached以及我目前無法回想的其他人。
的AppFabric:http://msdn.microsoft.com/en-us/magazine/ff714581.aspx
的memcached:http://memcached.org/
0
您可能正在查找HttpContext.Items
,而是將數據存儲在請求範圍而不是應用程序範圍中。查看this article可以很好地瞭解ASP.NET中不同的上下文作用域。
爲避免查詢數據庫「主要是靜態數據」,您的解決方案是利用ASP.NET's caching。
1
相關問題
- 1. ASP.NET MVC應用程序變量?
- 2. 在Perl子程序中修改變量
- 3. asp.net mvc應用程序會話變量在IIS中爲空6
- 4. 我無法修改rails應用程序中的引導程序變量變量
- 5. 在ASP.NET應用程序中使用應用程序變量
- 6. 如何在Flask應用程序中修改Bootstrap的LESS變量?
- 7. ASP.NET,MVC,C#應用程序 - 修改_Layout.cshtml不同視圖
- 8. 在asp.net MVC應用程序
- 9. asp.net mvc訪問您的應用程序中的變量一擊
- 10. ASP.net(c#)中的應用程序變量。
- 11. ASP.net MVC更改應用程序的URL
- 12. 更改web應用程序asp.net MVC
- 13. 更改Asp.net MVC應用程序名稱
- 14. mvc web應用程序中的應用程序變量刷新
- 15. 如何以編程方式修改ASP.NET MVC和C#應用程序中的web.config?
- 16. 在asp.net mvc應用程序中的TCPClient
- 17. 單元測試ASP.NET MVC應用程序 - 會話變量
- 18. 類變量MVC 2應用程序
- 19. 全局變量MVC應用程序
- 20. Asp.net mvc,修改SelectList
- 21. 在rails應用程序中修改schema.rb
- 22. Azure Web應用程序PATH變量修改
- 23. ASP.NET MVC子應用程序
- 24. 的asp.net MVC應用程序
- 25. ASP.NET緩存應用程序變量
- 26. 鎖定ASP.NET應用程序變量
- 27. 如何在asp.net mvc應用程序中動態更改masterpage
- 28. 在ASP.Net MVC中訪問「應用程序」對象以存儲應用程序範圍變量
- 29. 在MVC應用程序中顯示Jscript中的變量的值
- 30. 在Javascript中修改變量