System.Runtime.Caching.MemoryCache被描述爲一種用於非web應用程序的System.Web.Caching.Cache,但有什麼區別?是否有理由不在ASP.Net應用程序中使用System.Runtime.Caching.MemoryCache?您可以在Web應用程序中使用System.Runtime.Caching.MemoryCache嗎?
1
A
回答
1
是的,你當然可以。
至於一個原因,它們並不完全一樣,並且不共享相同的緩存優先級,所以如果你要使用它們,那麼在內存不足的情況下,你可能會發現一些東西從緩存中彈出,你沒有想到。
如果你只是使用其中一個,你應該沒問題。
1
不同之處在於它針對non-asp.net應用程序的使用進行了優化,因爲它對System.Web沒有依賴性。根據this MSDN page,另一個區別是,您可以創建MemoryCache類的多個實例,以用於同一應用程序和同一AppDomain實例中。
因此,真的沒有理由不僅僅是在你的asp.net應用程序中使用System.Web.Caching.Cache,但是,你也可以使用System.Runtime.Caching.MemoryCache。
1
我相信System.Runtime.Caching
實際上是較新的,並建模System.Web.Caching
之後,區別在於你不必依賴於System.Web程序集。此外,System.Runtime.Caching.MemoryCache
是可擴展的,而你不能從System.Web.Caching.Cache
繼承
我的建議是,如果你有一個共同的庫,比如說,用於Web和服務(例如),一起去System.Runtime.Caching
所以你不」不得不包含System.Web絨毛(如果你不需要它)。
下面是關於該主題的一些討論:dotnet System.Web.Caching.Cache vs System.RUntime.Caching.MemoryCache
相關問題
- 1. 您可以使用openshift來部署非Web應用程序嗎?
- 2. 您可以在Java EE Web應用程序中實現Vue.js嗎?
- 3. 您可以在IIS中託管ServiceStack Web應用程序嗎?
- 4. 可以在.NET Web應用程序中安全使用點嗎?
- 5. 您可以使用JMeter測試Siebel應用程序嗎?
- 6. 您可以使用帶電話應用程序的Selenium嗎?
- 7. 您可以使用NSPasteBoard粘貼到其他應用程序嗎?
- 8. 您可以在Silverlight中構建整個應用程序嗎?
- 9. 您可以在Mac應用程序中安裝Safari擴展嗎?
- 10. 您可以在雲中運行winform應用程序嗎?
- 11. 您可以在WPF應用程序中使用sketchflow控件/樣式嗎?
- 12. 您可以在Sinatra應用程序中使用Slim流式傳輸HTML嗎?
- 13. 您可以在C++/CLI WinForms應用程序中本地使用C++庫嗎?
- 14. 您可以使用Dreamweaver在appcelerator中開發移動應用程序嗎?
- 15. 您可以在Windows 8 Metro應用程序中混合使用HTML和XAML嗎?
- 16. 您可以在付費IOS應用程序中使用Google圖表嗎?
- 17. 您可以在VB.NET桌面應用程序中使用JIRA的SOAP API嗎?
- 18. 您可以從ASP.NET 1.1 Web應用程序調用.NET 2.0 COM對象嗎?
- 19. 可以使用Kinect,HTML5和jQuery開發Web應用程序嗎?
- 20. 非Web應用程序可以使用OpenID嗎?
- 21. Web應用程序可以使用JNDI查找記錄器嗎?
- 22. iPhone Web應用程序可以使用相機嗎?
- 23. 您可以在線託管Windows應用程序嗎?
- 24. 您可以在OS X上開發Windows Mobile應用程序嗎?
- 25. 我可以在Chrome中清除Web應用程序嗎?
- 26. 您可以用xcode 3構建10.7應用程序嗎?
- 27. 您可以禁用.NET應用程序的系統聲音嗎?
- 28. 您可以將Apple的mapkit用於混合應用程序嗎?
- 29. 您可以遠程更新開發iPhone應用程序嗎?
- 30. 您可以在IIS/ASP.Net中的應用程序中創建子應用程序