【发布时间】:2013-01-31 13:52:04
【问题描述】:
当我们更改客户端时,我们的大部分资源都存在缓存问题,因为客户端的缓存不会在每次发布时都失效。
可能的解决方案 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: 另一种解决方案是浏览所有文件(很多文件......实际上,是一堆文件)并手动输入版本:
<script src="scripts/somejs1.js?v=<%=version %>
问题:很多文件,可能会忘记其中的一些。
可能的解决方案 3: 如本例所述编写自定义过滤器流:Filter stream example
问题:很危险,如果过滤器崩溃,客户端可能根本无法使用该软件。 问题 2: 正确实施相当“困难”,因为我不习惯使用流。 问题 3: 为未来的开发者维护相当“困难”。
可能的解决方案 4: 使用 YUI 压缩工具。别想了。这是遗留代码,为时已晚。
我的问题:在这样的系统中版本文件的最佳方式是什么?如果我已经找到了好的解决方案,您有关于如何正确实施上述解决方案的提示吗?
【问题讨论】:
-
什么版本的 ASP.NET?