可在WCF和ASP .NET应用程序中使用的缓存(.NET 3.5)
我需要缓存工具,它应该从WCF和ASP .NET应用程序中工作。 我见过:
-
System.Web.Caching.Cache
,它不能从WCF中使用(据我所知它只有在IIS中托管服务时才可用,但情况并非总是如此) -
System.Runtime.Caching
可以从两个中使用,但只能从.NET 4获得,但我们的.NET版本是3.5。
有什么建议?
您绝对可以在IIS之外使用System.Web.Caching.Cache
。 只需添加一个对System.Web
的引用即可 – 它绝对不是IIS的一个function。
.NET 1.0和1.1中存在问题,但显然不在2.0及更高版本中 – 请参阅此知识库文章 。
但是像Davide Piras一样,我也建议考虑使用AppFabric在两个应用程序之间共享缓存,如果这样做有用的话。 我不确定你的意思是“我的要求买不起像AppFabric这样的东西” – “负担得起”你在谈论性能,记忆还是什么? 虽然AppFabric旨在用于缓存服务器,但它无论如何都不需要专用硬件,如果需要,您可以在与应用程序相同的盒子上运行该服务。
新解决方案使用Windows Server AppFabric缓存
http://cgeers.com/2010/07/04/windows-server-appfabric-caching/
http://dotnet.dzone.com/articles/caching-wcf-services-part-2
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AAP314
*** 2.in .NET 1.0和1.1 http://support.microsoft.com/kb/917411