我尝试按照here的答案(最高投票,未被接受)在我的asp.net核心2.0项目中实施ResponseCaching
。
然而我收到错误:
InvalidOperationException:无法从根提供程序解析作用域服务“Microsoft.AspNetCore.ResponseCaching.Internal.IResponseCachingPolicyProvider”。 Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution(类型serviceType,ServiceProvider serviceProvider)
我采取的步骤是:
1在Startup中添加接口绑定,如下所示:
services.AddScoped<IResponseCachingPolicyProvider, ResponseCachingPolicyProvider>();
2像这样添加响应缓存中间件:
public void Configure(IApplicationBuilder application)
{
application
.UseResponseCaching()
.UseMvc();
}
3将标签添加到我的控制器中,如下所示:
[ResponseCache(Duration = 3600)]
我试图获得与在过去的asp.net版本中添加[OutputCache(NoStore = true, Duration = 0)]
相同的行为。
答案 0 :(得分:2)
要为响应缓存添加必要的服务,您应该在ConfigureServices
类的Startup
中使用此扩展方法:
services.AddResponseCaching();