asp.net – 是什么导致Squishit重建捆绑包
发布时间:2020-12-16 07:12:14 所属栏目:asp.Net 来源:网络整理
导读:谁能告诉我是什么原因导致Squishit在生产模式下重建捆绑包? 例如,如果我创建以下包,则会按预期创建文件“Site.Master_ {GUID} .css”. %= Bundle.Css() .Add("~/css/reset.css") .Add("~/css/typography.css") .Add("~/css/styles.css") .Add("~/MasterPage
谁能告诉我是什么原因导致Squishit在生产模式下重建捆绑包?
例如,如果我创建以下包,则会按预期创建文件“Site.Master_ {GUID} .css”. <%= Bundle.Css() .Add("~/css/reset.css") .Add("~/css/typography.css") .Add("~/css/styles.css") .Add("~/MasterPages/Site.Master.css") .Render("~/Cache/Site.Master_#.css") %> 但是,如果我删除文件包文件,则不会重新创建.我通过反复试验发现,如果我将web.config文件更改为 <compilation debug="true" targetFramework="4.0" /> 然后回到假 <compilation debug="false" targetFramework="4.0" /> 下次请求页面然后重建包,但我想知道: a)Squishit如何决定是否应该建造或重建特定的捆绑 b)如果有一种公认的方法可以重置Squishit来重建所有捆绑包 – 例如在缓存清理或站点更新之后. 谢谢. 解决方法
SquishIt并不真正决定是否应该构建或重建特定的bundle – 如果SquishIt的缓存中存在一个bundle,它假定文件仍然存在.这是设计使然,因为每次访问捆绑缓存时检查文件系统都会非常昂贵.
由于捆绑包在HttpRuntime.Cache中缓存,因此您可以通过清除缓存中的相关项来强制重建.添加的所有项目都使用“squishit_”前缀,之后可以使用“css”或“js”来描述资产类型.清除缓存的任何内容都应该导致重建捆绑包,包括站点重置(web.config更改引发的).如果你需要一个后门方法来在运行时控制它,可以修改像this这样的东西以满足你的需要. 导致捆绑重建的另一件事是对其内容中包含的其中一个文件的更改.当捆绑包最初添加到缓存时,这通过CacheDependency进行控制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC泛型基础视图类
- asp.net-mvc – 运行Asp.Net Mvc作为OWIN中间件?
- asp.net – 在静态Web方法中调用ResolveClientUrl(ASPNet W
- asp.net – HttpClient不会从CookieContainer发送cookie
- asp.net – ASP .Net文件上载超出最大请求长度错误
- asp.net-core – Visual Studio 2015中的ASP.NET核心支持?
- asp.net-mvc – 是否存在基于Semantic UI框架的asp.net mvc
- asp net2 0 上传大容量文件第三方控件radupload
- asp.net – MVC [HandleError] HandleErrorAttribute在使用
- ASP.NET MVC 3布局所有子视图中的ViewBag数据