【发布时间】:2021-07-04 18:41:02
【问题描述】:
我们使用没有 MVC / Razor 的 ASP.NET Core(我们的客户端是基于 websockets 的 SPA),但需要通过文件更改破坏浏览器缓存,因为 Chrome 与更新 CSS/HTML 时刷新缓存不一致/JS 应用的静态文件。
标签助手 asp-append-version 会很有帮助,但它似乎只有在我们将应用程序转换为 MVC 或 Razor 时才有效,这对于这个功能来说是多余的。
尝试一下,我找不到任何关于如何在 MVC/Razor 项目之外使用它以及在 ConfigureServices 函数中设置网络服务器添加服务的文档。AddMvcCore 似乎没有在构建器中公开任何功能附加版本。
还有几个问题:
-
如果我们不使用 razor/MVC 并假设它可以以这种方式工作,那么通过手动添加标签助手,我们是否会因为标签助手的开销而影响 Web 服务器的性能(例如,网页是动态构建的对于每个请求)- 我们最好使用其他性能更高的方法来缓存破坏?
-
在我们的 javascript 应用程序中,我们将根据用户在应用程序中的选择动态加载图像/javascript,方法是创建相关的 HTML 标记,然后附加到 DoM。如果我们在附加到 DoM 之前将 asp-append-version 作为 HTML 属性添加到片段中,asp-append-version 是否可以使用这种方法?
【问题讨论】:
-
所以你有一个 asp.net 核心项目,它在 wwwroot 中有多个静态文件。这些文件是您的 SPA 应用程序,可能会更新。此外,您还有一个名为 index.html 的静态文件,它是您的 SPA 根目录。我说的对吗?
-
@MrMoeinM,是的,这是正确的。 Microsoft 文档有点假设正在使用 razor 或 MVC。我们的应用通过 websockets 与服务器交互,不清楚 asp-append-version 如何或是否可以工作,添加它什么都不做。
标签: asp.net asp.net-mvc