美文网首页ASP.NET
.Net Core 3.x MVC IResourceFilte

.Net Core 3.x MVC IResourceFilte

作者: 单程车票_SJ | 来源:发表于2020-10-23 20:08 被阅读0次

    1、 Action 缓存

          IResourceFilter 不同环境都可以做缓存,只是效果不一样

    基于IResourceFilter完成了缓存,避免了控制器实例化和Action执行,但是视图重新执行了(缓存了控制器和Action)

    例子:

    先实现 IResourceFilter ,新建类 CustomCacheResourceFilterAttribute.cs

    修改 FilterController.cs ,添加新 Action  InfoCache 使用刚才的特性 CustomCacheResourceFilter

    添加视图

    生成编译 -> 浏览 /filter/Infocache

    然后按F5刷新, 后端时间是没有变化,前端(view)时间被重新执行了

    2、视图缓存( 浏览器缓存 )

    怎么样可以不执行视图,或者直接重用视图的结果,直接重用HTML

    ResponseCache:在请求响应式,添加了一个responseheader,来指导浏览器缓存结果

    修改 FilterController.cs ,Duration 缓存时间

    生成编译 -> 浏览 /filter/Infocache 打开两个页面 看效果 (注意:这种不能按F5刷新,只能新页面去测试)

    自己可以调试去观察有没有进后台,第二个页面访问时是不会进后台的

    3、中间件 缓存

    修改 Startup.cs ,注册 ResponseCaching

    修改 FilterController.cs

    生成编译 -> 浏览 /filter/Infocache  用两个不一样的浏览器来看效果,这里我用谷歌和360测试

    跨浏览器缓存了


    下一章《.Net Core 3.x MVC Autofac 切入Action 》

    相关文章

      网友评论

        本文标题:.Net Core 3.x MVC IResourceFilte

        本文链接:https://www.haomeiwen.com/subject/lwdpmktx.html