我想把SquishIt和我们的网络应用程序集成起来。我从本地测试中注意到的是,SquishIt只生成一次文件。基于其他答案和读取SquishIt代码,我认为如果HttpCache不包含生成的哈希键的值,就会生成文件。
如果没有重新启动应用程序,或者没有清除HttpCache,如果我删除生成的缩小文件,那么SquishIt就不会重新创建该文件。
如果文件不存在,是否有任何方法强制SquishIt重新创建该文件?
早些时候,我们使用的是RequestReduce,我们注意到如果只编辑css/js文件(即,web.config没有被编辑,应用程序没有重新启动),它并不总是获取css/js的更改。为了确保获取更改,我们总是在部署时删除所有生成的文件。
编辑:
我的方案如下。我从默认的JS小型机切换到JsMinMinifier。删除文件(设置了RenderOnlyIfOutputFileIsMissing)并重新启动应用程序之后,就生成了缩小的文件。但是,它们的名称与以前的文件相同(我错误地以为它会有不同的名称)。
刷新我的浏览器显示,新生成的文件是服务器发送的。怎么会出这事?如果资产上设置了长时间过期缓存头,那么浏览器就不应该从服务器请求新文件。(检查Firebug中的资产,我无法理解缓存策略。在我看来,它似乎被设置为缓存几分钟)。
编辑2:
我拿走的是,没有必要删除生成的文件,以导致再生。如果相应的源文件发生变化,SquishIt将生成一个适当的文件.
发布于 2013-06-13 13:34:13
但是,在部署时删除生成的文件应该是很好的,即使不是绝对必要的--那么您不需要重新启动应用程序吗?
如果您真的担心文件挥之不去,您可能需要考虑使用没有文件系统的SquishIt。
https://stackoverflow.com/questions/17071385
复制相似问题