是否可以为我的MVC应用程序添加动态内容的IIS缓存

时间:2015-08-21 13:11:23

标签: asp.net-mvc caching iis-7.5

我在IIS中托管了我的MVC应用程序。我知道使用IIS为静态内容添加输出缓存。但是可以为动态内容添加输出缓存吗?怎么样?我正在使用IIS 7.5版

谢谢。

2 个答案:

答案 0 :(得分:0)

您是否需要您的缓存完全是IIS级别?

MVC拥有自己的缓存机制。您可以使用OutputCache属性。

此属性具有参数VaryByParam,因此您可以缓存动态内容,如下所示:

[OutputCache(Duration = 30, VaryByParam = "Id;PersonId;AnotherId")]

此属性允许您针对来自它的IdPersonIdAnotherId参数的不同值缓存30秒控制器(或操作)输出。

答案 1 :(得分:0)

你可以关注teo van kot的回答。您可以在Globals.asax.cs文件中设置VaryByParam。 IIS 7.5在这里无所谓。

您可以通过这种方式为不同的人缓存不同的内容。

更具体的解决方案是

 HttpContext.Cache.Add("latest",data);

使用此HttpContext.Cache存储数据并将其获取到其他http请求中。您可以创建自己的多种条件和机制来将数据存储在HttpContext.cache中,并以您自己的方式使用它。