可在WCF和ASP .NET应用程序中使用的缓存(.NET 3.5)

我需要缓存工具,它应该从WCF和ASP .NET应用程序中工作。 我见过:

  1. System.Web.Caching.Cache ,它不能从WCF中使用(据我所知它只有在IIS中托管服务时才可用,但情况并非总是如此)

  2. 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旨在用于缓存服务器,但它无论如何都不需要专用硬件,如果需要,您可以在与应用程序相同的盒子上运行该服务。