我正在努力确保在部署新版本的asp.net web应用程序后,缓存中的过时图像/js/css文件不会被使用。
我目前正在研究这个问题的js方面。首先,我自己的所有脚本都是通过System.Web.UI.ScriptManager使用js文件的普通urls注册的。因此,我对ScriptManager进行了子类化,并在脚本url的末尾添加了?ver=‘x.x’。我没有看到任何问题,我的脚本与正常的ScriptResource.axd,但总是有很多urls引用,我关心这些脚本。
例如,假设在我的下一个版本中我更新了AjaxControlToolkit动态链接库。scriptResource.axd urls是否与以前的AjaxControlToolkit使用的urls不同?在我看来,scriptResources.axd看起来很时髦,所以我希望它们是用程序集的散列或其他东西生成的?我查阅了大量关于scriptResource.axd的文献,但我没有找到任何关于这个主题的东西。有谁有什么想法吗?
感谢您的阅读。
发布于 2010-04-30 17:48:26
你部分说对了。资源URL的格式为WebResource.axd?d=encrypted identifier&t=time stamp value。"d“代表请求的Web资源。"t“是请求的程序集的时间戳,它可以帮助确定是否对资源进行了任何更改。
简而言之,第一个参数是加密的滴答值(通过使用内部Page.EncryptString方法);第二个参数是最近一次写入程序集的节拍数(通过使用File.GetLastWriteTime方法)。
因此,使用下一个版本或您的程序集将更改资源URL (重新生成程序集和/或更改其版本)。
更多信息可以在这里找到:
https://stackoverflow.com/questions/2740679
复制相似问题