我们一直在评估ImageResizer,到目前为止,一切都很好。我们的主要用例之一是已上传到S3的图像,我们想在4.0中测试重写的S3插件。来自具有3.4.3的工作安装的应用程序:
MvcRoutingShim
,但未对web.config
进行其他更改。重建应用程序后,通常看起来有效(在我的工作站上测试,使用VS2012和IIS Express 8)。我可以通过RemoteReader
插件获取图片。我们写的一个简单的URL重写插件似乎工作正常。但我不能让S3Reader2
插件产生除404之外的任何东西。我已经摆弄了许多插件设置,尝试了好的和坏的URL的各种组合但没有成功。
这是a Gist with the diagnostics output。
是否需要对配置进行一些更改才能升级到4.0?有些原因导致它无法在本地运行?我应该使用更稳定的4.0版本?
答案 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,但我们可能永远都不会知道。