当我们更改客户端时,客户端的大部分资源都会出现缓存问题,因为客户端的缓存不会在每次发布时都失效。
可能的解决方案1: 来自.net MVC,我正在考虑制作一个处理每个资源并为其分配版本的助手,例如:
@SomeHelper.VersionJsFile("~/scripts/somejs1","~/scripts/somejs2","~/scripts/somejs3")
会输出:
<script src="~/scripts/somejs1?v=1234">
<script src="~/scripts/somejs2?v=1234">
...
问题:我不知道如何在 ASP .net 中做类似的事情。 问题2:很多文件,可能会忘记其中一些。
可能 的解决方案2:另一种解决方案是浏览所有文件(很多文件......实际上,文件的sh * tload)并手动输入版本:
<script src="scripts/somejs1.js?v=<%=version %>
问题:很多文件,可能会忘记其中一些。
可能的解决方案 3: 如本示例中所述编写自定义过滤器流:过滤器流示例
问题:危险,如果过滤器崩溃,客户端可能根本无法使用该软件。 问题2:正确实施相当“困难”,因为我不习惯使用流。 问题3:为未来的开发人员维护相当“困难”。
可能的解决方案4: 使用YUI压缩工具。别想了。这是遗留代码,为时已晚。
我的问题:在这样的系统中版本文件的最佳方法是什么?如果我已经找到了好的解决方案,您是否有关于如何正确实施上述解决方案的提示?