PLATFORM
* Asp.net Webforms - C#
* .Net 4.5
* Azure虚拟主机
* Chrome(43.0.2357.134米) - 最新
问题
我目前正在使用ASP.NET Web Optimization Framework捆绑CSS和Javascript。在我的本地环境中进行测试时,一切都很好。您可以清楚地看到aspx页面相对较小,并且捆绑包被列为单独的单个文件(cssAll& jsAll)。
https://www.dropbox.com/s/dazt681qylk41hm/local-login-cache.PNG?dl=0
一旦我部署到Azure,Javascript包确实保持正确链接并缓存,但不再引用CSS包。相反,所有CSS代码都直接写入aspx文件的head标记。这会导致aspx文件呈指数级增长(从5KB到87KB)并且它会阻止CSS被缓存。有趣的是,当我禁用缓存时,CSS文件现在作为单独的文件发送,我的aspx返回其较小的大小。
https://www.dropbox.com/s/eox7b0vc0mi27wo/azure-login-combined.PNG?dl=0
我的想法&问题
考虑因素
我已经确认我的本地计算机和Azure之间的所有CSS,Javascript和相关目录结构都是相同的。 (Web部署处理得很好)
我尝试过与IE11和Firefox完全相同的测试,得到类似的结果。如果禁用了缓存,则CSS会按预期单独出现,但如果启用了缓存,则会将CSS详细写入aspx页面的head标记。
问题不在于捆绑,因为它正在运行。但是,我尝试直接链接到每个CSS文件,而不是使用捆绑包,并发生同样的奇怪。
我已经完全清除了测试之间的浏览器缓存(使用chrome中的清晰浏览历史记录)并使用了多台计算机来测试它,但结果是相同的。
我所说明的页面非常小,但由于这种奇怪的原因,其他更大的页面更糟糕,可能会增长600KB以上。