【问题标题】:ImageResizer shows wrong imageImageResizer 显示错误的图像
【发布时间】:2015-08-27 06:48:49
【问题描述】:

我在我的网站中使用 ImageResizer 并启用了 DiskCache 插件。对于某些图像,它会在输出中随机显示另一个文件,我应该清除缓存以解决此问题,而一段时间后我再次看到其他图像。仅针对一种尺寸的图像缓​​存了错误的图像。

还有一件事:在 chrome 中,有时图像缩放器显示错误的图像,这个问题可以通过 Ctrl+F5 解决。

编辑 1: 这是我的 Web.config 文件:

<resizer>
    <diagnostics enableFor="AllHosts" />
    <pipeline fakeextensions=".aspx" />
    <plugins>
      <add name="Mybook.utilities.ImageResizerLocalReader" />
    </plugins>
    <diskCache dir="~/imagecache" autoClean="false" hashModifiedDate="true" />
    <clientcache minutes="10080" />
</resizer>

<system.web>
    <httpModules>
      <add name="ImageResizingModule" type="ImageResizer.InterceptModule"/>
    </httpModules>
</system.web>

...

<system.webServer>
    <modules>
      <add name="ImageResizingModule" type="Mybook.utilities.ImageInterceptModule" />
    </modules>
</system.webServer>

我还是看不到诊断页面

【问题讨论】:

  • 这个问题没有额外的细节是无法回答的;具体来说,诊断页面输出(resizer.debug)和Mybook.utilities.ImageResizerLocalReader的源代码。
  • 如何查看诊断页面输出
  • 有时在 chrome 中图像缩放器显示错误的图像这个问题可以通过 Ctrl+F5 解决
  • 我看不到 resizer.debug.ashx 页面

标签: c# asp.net imageresizer


【解决方案1】:

删除您的自定义插件和您的自定义 HttpHandler。

删除

<modules>
  <add name="ImageResizingModule" type="Mybook.utilities.ImageInterceptModule" />
</modules>

替换为

<modules>
  <add name="ImageResizingModule" type="ImageResizer.InterceptModule" />
</modules>

并删除

 <add name="Mybook.utilities.ImageResizerLocalReader" />

另外,把&lt;pipeline fakeextensions=".aspx" /&gt;改成&lt;pipeline fakeextensions=".ashx" /&gt;,你不想和网页冲突。

最后,将它移到一个新的、干净的、标准的 Web 应用程序中,它不会将自身映射到 C:\ 驱动器的根目录或做任何其他疯狂的事情。不要将 Web 应用程序放在根目录或用户文件夹中。使用 Inetpub 或c:\www\myapp 之类的;仔细检查您的 NTFS 权限是否正确。

如果您在消除环境问题后仍然遇到问题,那么您应该使用简化的重现步骤打开一个新问题。

更新

这是由global variable in the custom plugin 引起的。

【讨论】:

    猜你喜欢
    • 2015-07-28
    • 2011-08-30
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多