建议的做法是限制ImageResizer仅对指定子目录中的图像进行操作(在我个人的情况下,只需要通过PostRewrite对某个目录中的图像进行水印,但除了几个子目录外,我真的如果我不需要,我们不希望网站范围的图片甚至触及InterceptModule?
$('#main').focus();
var mainDiv = document.getElementById("main");
var startNode = mainDiv;
var endNode = mainDiv;
var range = document.createRange();
range.setStart(startNode, 6);
range.setEnd(endNode, 10);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
:
<location ...>
Application.BeginRequest过滤掉路径。
详细说明:
答案 0 :(得分:1)
处理Config.Current.PostRewrite
并在事件参数(查询字符串)中设置process=no
和cache=no
。这将禁用ImageResizer与请求的交互。
如Configuring ImageResizer to only work in certain directories中所述,您无法使HttpModules位置特定。它们总是在应用程序范围内。
默认情况下,除非您通过查询字符串明确请求,否则ImageResizer不对图像执行任何操作。它(使用authorizeAllImages =&#34; true&#34;)允许您通过AuthorizeImage
控制访问权限,以及通过Rewrite
和PostRewrite
事件执行网址重写。
如果从VirtualPathProvider提供图像,它将通过将请求分配给StaticFileHandler来使其工作;但如果图像是物理文件,它什么都不做。
如果你想要真正的隔离,你总是可以设置一个子应用程序(子应用程序),它有一个单独的应用程序池,安装在子目录中。