0

当我们更改客户端时,客户端的大部分资源都会出现缓存问题,因为客户端的缓存不会在每次发布时都失效。

可能的解决方案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压缩工具。别想了。这是遗留代码,为时已晚。

我的问题:在这样的系统中版本文件的最佳方法是什么?如果我已经找到了好的解决方案,您是否有关于如何正确实施上述解决方案的提示?

4

1 回答 1

3

我很幸运使用Cassette来捆绑和控制 js 资源的版本。它支持 webforms,并且仅在选项中用于版本控制/缓存破坏。在配置中需要对资源进行一些设置,但您只需要在一次配置它,页面可以在需要时引用它们的资源。

于 2013-01-31T14:02:30.600 回答