将 ImagerResizer 模块限制为仅一个特定 route/sub-directory 的推荐做法?

Recommended practice for restricting ImagerResizer module to just one specific route/sub-directory?

将 ImageResizer 限制为仅作用于指定子目录中的图像的推荐做法是什么(在我个人的情况下,通过 PostRewrite 只需要在特定目录中的图像上添加水印,但除了几个子目录,如果不需要的话,我真的不希望整个站点的图像甚至触及 InterceptModule)?

详情:

处理 Config.Current.PostRewrite 并在事件参数(查询字符串)中设置 process=nocache=no。这将禁用 ImageResizer 与请求的交互。

Configuring ImageResizer to only work in certain directories 中所述,您不能使 HttpModules 位置特定。它们始终适用于整个应用程序。

默认情况下,ImageResizer 不会对图像执行任何操作,除非您通过查询字符串明确请求它。它确实(使用 authorizeAllImages="true")允许您通过 AuthorizeImage 控制访问,以及通过 RewritePostRewrite 事件执行 URL 重写。

如果图像是从 VirtualPathProvider 提供的,它将通过将请求分配给 StaticFileHandler 来使其工作;但如果图像是物理文件,它什么都不做。

如果你想要真正的隔离,你总是可以设置一个子应用程序(子应用程序),它有一个单独的应用程序池,安装在一个子目录中。