将ImageResizer从3.4.3升级到4.0似乎打破了S3Reader

时间:2015-04-08 19:57:52

标签: amazon-s3 imageresizer

我们一直在评估ImageResizer,到目前为止,一切都很好。我们的主要用例之一是已上传到S3的图像,我们想在4.0中测试重写的S3插件。来自具有3.4.3的工作安装的应用程序:

  • 下载了NuGet包from AppVeyor
  • 使用本地包源来升级应用程序的依赖项,并删除过时的Mvc包。
  • 删除了MvcRoutingShim,但未对web.config进行其他更改。

重建应用程序后,通常看起来有效(在我的工作站上测试,使用VS2012和IIS Express 8)。我可以通过RemoteReader插件获取图片。我们写的一个简单的URL重写插件似乎工作正常。但我不能让S3Reader2插件产生除404之外的任何东西。我已经摆弄了许多插件设置,尝试了好的和坏的URL的各种组合但没有成功。

这是a Gist with the diagnostics output

是否需要对配置进行一些更改才能升级到4.0?有些原因导致它无法在本地运行?我应该使用更稳定的4.0版本?

2 个答案:

答案 0 :(得分:0)

根据诊断页面,您似乎没有安装静态文件处理程序或模块。由于您正在使用DiskCache,因此ImageResizer会将磁盘缓存文件的服务委派给配置的任何静态文件服务器,以便您可以获得最佳性能并支持所有深奥的HTTP命令。

添加静态文件处理程序应解决此问题。

  <system.webServer>
    <handlers>
      <add name="AspNetStaticFileHandler" path="*" verb="*" type="System.Web.StaticFileHandler" />
    </handlers>
  </system.webServer>

您还应验证是否已安装本机静态文件模块(理论上它更快)。

https://support.microsoft.com/en-us/kb/2196177?wa=wsignin1.0

答案 1 :(得分:0)

使用NuGet中较新的4.0.0-prerelease0877 packages时,此问题似乎已修复。我推测我们可能已经看到了issue #139,但我们可能永远都不会知道。