我有一个新的 Sitecore 8.1 实例正在运行。Sitecore 通过带有如下 URL 的媒体处理程序加载图像:“/-/media/Images/FOLDER/IMAGENAME.jpg”。Sitecore Media Handler 需要运行才能在 Sitecore 数据库中找到图像,然后返回实际的图像文件(磁盘上不存在图像)。我一直无法让 ImageResizer 处理 Sitecore 图像,因为 Sitecore 会窃取请求,而不是让 ImageResizer 处理它。说得通。
我在 Sitecore 中实现了一个自定义管道,但是效果非常好:
var settings = new ResizeSettings(HttpContext.Current.Request.QueryString);
ImageBuilder.Current.Build(args.OutputStream.Stream, stream, settings);
args.OutputStream = new MediaStream(stream, args.MediaData.Extension, args.MediaData.MediaItem);
然后它将成功将调整大小的图像返回给客户端。但是,我不知道如何启用磁盘缓存,这样它就不必按需处理每个调整大小的请求,我也没有找到任何资源来解决这个问题。
我可以做些什么来避免我的自定义管道并启用本机 ImageResizer 以便我可以在我的场景(Sitecore Media)中使用 DiskCache 插件?或者有没有办法可以修改我的管道以使用 DiskCache 类来安装我自己的?
谢谢!