我有一个控制器动作,可以动态呈现给定几个输入参数的图形。由于它在图形渲染时略微明显,我使用输出缓存来避免重新渲染。控制器直接调用ASP.Net MVC OutputCache
有几十个输入参数组合非常频繁地使用。我认为这是一个好主意,温暖缓存,以便第一个访问者使用给定的那些组合不会遇到延迟。
为此,我直接调用从的Application_Start控制器()是这样的:
UtilController uc = new UtilController();
uc.GenerateImage(p1, p2, p3);
通过设置断点,我看到的是,控制器动作被调用并生成图像。但是,浏览器请求图像的第一个(也是唯一的一次)时间,它会再次生成。为了进行此测试,浏览器配置为不缓存任何内容,并仔细比较用于调用控制器操作的参数。
当直接调用控制器动作时,输出缓存是否被调用?预热缓存有没有更好的方法(希望是一个独立的Web项目)?
缓存URL是否敏感?换句话说,我可以通过http:// localhost访问操作,还是必须知道外部URL? –
AFAIK网址在Windows下不区分大小写。 –
我的意思是,如果网站部署在'http:// somedomain.com',我可以使用WebClient加载要从'http:// localhost'缓存的资源吗? –