加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 修改后ASP.NET包缓存不清除

发布时间:2020-12-15 22:51:00 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC4应用程序(我认为)自从一年前首次发布以来,一直在使用 JavaScript和CSS捆绑工作.在此期间,我们发布了许多更新,没有看到脚本传递的问题. 但是,使用我们最新的代码部署,我注意到,服务的JavaScript不是最新的,并且脚本包的请求中使用的query
我有一个ASP.NET MVC4应用程序(我认为)自从一年前首次发布以来,一直在使用 JavaScript和CSS捆绑工作.在此期间,我们发布了许多更新,没有看到脚本传递的问题.

但是,使用我们最新的代码部署,我注意到,服务的JavaScript不是最新的,并且脚本包的请求中使用的querystring参数不会更改,无论底层脚本内容如何更改.

我已经尝试在Visual Studio中重新构建解决方案,并验证修改的脚本文件是否正确部署到服务器.我还明确地回收了IIS应用程序池并重新启动了服务器,但问题仍然存在.

任何想法如何诊断或解决这个问题吗?

更新:刚刚比较了分段和生产服务器,我注意到行为差异.两台服务器以相同的方式部署,使用Visual Studio Web部署.登台服务器通过更新引用脚本包的URL中使用的哈希值,正确立即反映脚本文件的更改.相比之下,生产服务器无法更新其捆绑散列,以响应脚本文件修改和/或更改脚本包的组合(即使在重新启动IIS或回收应用程序池之后).这表明该问题被隔离到生产IIS环境,并且与我的代码更改或Visual Studio配置无关.

解决方法

经过大量的搜索之后,我最终绊倒了这个问题的原因.

服务器检测新部署的JavaScript文件更改的失败是由服务器上存在的这些JavaScript文件的几个类似命名的最小化版本引起的.我假设这种行为是设计的,即捆绑过程优先于现有的最小化文件,并忽略等效的未分解文件,即使它是较新的.

我无法确切地知道这几个最小化的文件是如何在服务器上进行的,但我认为这是一个实验的结果,涉及到一些替代形式的缩小/捆绑.在任何情况下,只需删除它们就允许捆绑机制查看我部署的脚本文件,并且一切都开始工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读