ASP.NET MVC控制器操作中的OutputCache键格式

时间:2018-04-11 16:43:36

标签: c# .net asp.net-mvc caching outputcache

控制器操作上outputcache的确切键格式是什么?

[OutputCache(CacheProfile = "Games")]
public virtual ActionResult EventGames(int? id, string slug)

2 个答案:

答案 0 :(得分:2)

我想不出你需要使用OutputCache键的任何情况。

无论如何,密钥是使用以下因素生成的:
- 由OutputCacheAttribute类预定义的键前缀 - Controller Action的uniqueId。
- VaryByCustom参数。
- VaryByParam参数。

这些因素将被连接,然后使用 SHA256Cng

进行散列

详细实施可在此处找到:OutputCacheAttribute.cs

答案 1 :(得分:-1)

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/improving-performance-with-output-caching-cs

添加web.config缓存部分

<caching>
   <outputCacheSettings>
      <outputCacheProfiles>
         <add name="Cache1Hour" duration="3600" varyByParam="none"/>
     </outputCacheProfiles>
  </outputCacheSettings>
</caching>

然后在ActionResult上添加缓存配置文件

using System;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
  public class ProfileController : Controller
  {
    [OutputCache(CacheProfile="Cache1Hour")]
    public string Index()
    {
        return DateTime.Now.ToString("T");
    }
  }
}