首页 > 解决方案 > 从 html 帮助器中的部分视图获取文件信息

问题描述

我们目前正在努力将我们的网站从 .net mvc 5 迁移到 .net 核心,并在此过程中尝试实施一个关于如何在我们的网站上使用服务工作者的新想法。

基本上,根据请求的路径,body 和 layout 要么返回完全渲染,要么在通常会渲染局部的地方返回字符串。如果服务工作者在返回的请求中遇到这些字符串中的任何一个,它将用它已经在客户端缓存的相应部分替换该字符串,如果它没有该字符串,它将单独向服务器发送该部分的请求.

我们需要的是一些通过我们包含引用部分的字符串来清除缓存的方法。理想情况下,我们会根据上次修改部分的 .cshtml 文件(或部分的哈希)对字符串进行版本控制。类似的事情通常使用 html 助手来缓存静态文件和图像。

问题是我无法使用静态 html 帮助程序扩展来获取部分文件的最后写入时间。它适用于 wwwroot 文件夹中的静态资源,只需获取文件的路径然后使用File.GetLastWriteTime(),但我不清楚是否可以通过相同的方式获取 .cshtml 部分文件的最后写入时间。

给定局部视图的名称,我如何编写一个 html 帮助程序扩展,它将根据局部视图文件的最后写入时间插入一个字符串?

标签: c#cachingasp.net-core-2.0partial-views

解决方案


推荐阅读