在ASP.NET MVC Core中,可以使用OutputCache特性来缓存操作的输出结果。下面是一个示例解决方案,其中包含了在操作上使用OutputCache的代码示例。
首先,创建一个名为"HomeController"的控制器,并添加一个名为"Index"的操作方法。在该操作方法上使用OutputCache特性来指定缓存的参数,如下所示:
[OutputCache(Duration = 60, Location = OutputCacheLocation.ServerAndClient)]
public IActionResult Index()
{
return View();
}
在上面的示例中,Duration参数指定了缓存的时间(以秒为单位),Location参数指定了缓存的位置(服务器和客户端都缓存)。
接下来,在视图文件中创建一个名为"Index.cshtml"的视图文件,并添加一些内容,如下所示:
Welcome to the Home Page
This content is cached and will be stored for 60 seconds.
在上面的示例中,当用户访问首页时,页面内容将被缓存,并在接下来的60秒内直接从缓存中提供,而不需要执行操作方法。
需要注意的是,要使用OutputCache特性,需要在Startup.cs文件的ConfigureServices方法中添加以下代码:
services.AddMvc(options =>
{
options.CacheProfiles.Add("Default", new CacheProfile
{
Duration = 60,
Location = ResponseCacheLocation.Any
});
});
上述代码将全局缓存配置为60秒,可以在操作方法中使用"Default"作为CacheProfile的名称,并将其应用于OutputCache特性。
这样,当用户访问首页时,输出结果将被缓存,并在接下来的60秒内直接从缓存中提供。