ImageResizer AuthorizeImage事件多次触发

时间:2013-10-26 23:20:31

标签: image-resizing imageresizer

我的ASP.NET MVC 3项目中有一些图像,只有某些用户可以根据数据库中的某些规则查看。

在我的Global.asax中,在方法Application_BeginRequest()中添加了规则,如下图所示:http://i.imgur.com/9a2rEKF.png

代码正在运行,如果用户没有权限,我会从placehold.it显示一个通用图片。但是,使用映射sql查询的libray,我网站上的每个请求都会多次触发AuthorizeImage事件(超过50),这会使图像显示速度变慢并影响整个系统。

我的问题是:我将AuthorizeImage事件放在错误的位置?有没有办法解决这个问题,让每个图像只触发一个AuthorizeImage事件?

1 个答案:

答案 0 :(得分:0)

您应该在Application_Start期间注册事件处理程序,因此它们只会添加一次。

在End_Request期间注册事件处理程序意味着每个请求都会导致添加另一个重复处理程序。

AuthorizeImage没有被解雇50次;正在注册50个处理程序副本。