为什么我替换它们后,DNN中包含的图像和javascript文件不再缓存在客户端上?

6 optimization caching dotnetnuke

我安装了DotNetNuke版本4.9.2,我正在使用Firebug和YSLOW观看已启动的缓存状态......

所有的图像和JavaScript都缓存在客户端上,除非我替换它们...所以如果我上传一个新的LOGO图像,它就不再被缓存了.现有的缓存.如果我替换现有的.js文件(我通过minifier运行一个),它就不再被缓存了.如果我用原始文件替换新文件,它们将再次被缓存.

我找不到任何关于此的文件...任何想法?谢谢!

Cod*_*x73 1

我找到了这个参考:

解决缓存问题

在这里,我很乐意分享我用来解决问题的出色调试和解决问题的技巧。只是我不能,因为我永远无法弄清楚哪里出了问题。对我来说,使用简单的重载 [setCache(key,object)] 似乎无法正常工作。

我最终所做的是使用与 Url 字典缓存相同的代码。这是一个不同的重载,因为它使用了回调和固定的过期时间。

这是代码:

DateTime absoluteExpiration = DateTime.Now.Add(settings.CacheTime);
DataCache.SetCache(UrlDictKey, urlDict, null, absoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, onRemove, settings.CachePersistRestart);
Run Code Online (Sandbox Code Playgroud)

该代码使用不同的重载,并且由于某种原因,可以正常工作。测试证实了这一点:以前,当用请求攻击测试服务器时,最终它会因为数据库一遍又一遍地加载对同一个表的查询而阻塞。现在,将有一次对 sp 的调用,该项目将被缓存,并且请求可以顺利通过而不会阻塞。

找到此参考:http://www.ifinity.com.au/Blog/Technical_Blog/EntryId/55/DotNetNuke-Caching-and-a-performance-problem/

希望我至少能够帮助您或为您指明正确的方向。