如何在ASP.NET Web API中缓存对象集合

时间:2014-04-04 14:47:47

标签: api caching web

我是Asp.Net Web Apis的新手(虽然我们可以使用独立于MVC的Web Api模板,但Microsoft已经成为MVC模板的一部分)....只是一点点背景。

当我的Web服务被用户调用然后沿着我的Web服务所服务的行回到我的问题时,我必须将Json文件反序列化为通用C#集合并将其缓存在内存中然后其中一个Controller操作中的代码(显然是一个get方法)检查​​内存缓存,如果它有反序列化的C#集合,它从那里得到它,它调用控制器内的另一个方法来缓存这个泛型收集在记忆中。

我的问题是......这是否可以像上面描述的那样缓存Web Api的内容......我非常熟悉Asp.Net页面生命周期,缓存和会话等。但是没有与Web Api ....我的上述解释只是一个抽象的想法......不确定如何执行它,它会起作用吗?如果是,那么什么命名空间会像System.Runtime.Caching或System.Web.Caching一样派上用场。 您的回答将受到高度赞赏....

1 个答案:

答案 0 :(得分:0)

在.NET Framework 3.5及更早版本中,ASP.NET在System.Web.Caching命名空间中提供了内存缓存实现。在以前版本的.NET Framework中,缓存仅在System.Web命名空间中可用,因此需要依赖ASP.NET类。在.NET Framework 4中,System.Runtime.Caching命名空间包含为Web和非Web应用程序设计的API。 ASP.NET Web API在System.Web.dll中没有依赖性,因此我建议您使用System.Runtime.Caching,您可以将缓存逻辑放在任何位置,甚至可以放在单独的.dll文件中,并在ASP中使用它。 NET Web API项目。