我的ASP.NET包含一个指向静态图像的IIS虚拟文件夹(以便提供这些图像的HTTP请求甚至不会触及我的应用程序。)
在http://<server>/myAppRoot
使用我的网站的网络客户:
Page1.aspx
Page2.aspx
images/MyAppLogo.png
static/file1.png <-- IIS virtual folder "static" points to D:\someOtherPath
static/file2.png
在C:\ somePath \ myAppRoot:
的服务器文件系统上Global.asax
Page1.aspx
Page2.aspx
Web.config
bin\MyAppAssembly.dll
bin\ImageResizer.dll
images\MyAppLogo.png
服务器上的其他地方生活在D:\ someOtherPath:
的所有静态图像file1.png
file2.png
我可以将ImageResizer添加到ASP.NET bin文件夹,与我自己的程序集一起,并将<resizer>
标记添加到Web.config,ImageResizer将运行并处理来自我的实际app文件夹的任何请求。我可以使用所有ImageResizer特技来制作MyAppLogo.png舞蹈。
但是ImageResizer不会识别拦截/static/
虚拟文件夹的任何请求(这是一个包含大量上传图像的文件夹,我希望它们可以随时使用小缩略图。)
如何配置ImageResizer以处理/static/
虚拟文件夹?
我应该添加/static/
由我们的安装程序添加,完全在我们的应用之外,并且不是我应用的Web.config中的<location>
标记。
有关如何配置ImageResizer以处理/static/
IIS虚拟文件夹的任何建议吗?
答案 0 :(得分:0)
我理解它的方式,ImageResizer 应该与IIS虚拟路径提供程序一起使用。
但是,VirtualFolder插件是免费提供的。见http://imageresizing.net/plugins/virtualfolder。请注意警告:
IIS虚拟文件夹的性能更好,因此,此插件只能用于测试,开发或作为最后的手段。
我对插件没有个人经验,但配置似乎很简单;您只需要将虚拟路径映射到物理路径,如下所示:
<add name="VirtualFolder" virtualPath="~/static/" physicalPath="D:\someOtherPath" vpp="false "/>
答案 1 :(得分:0)
好吧,直接在网络服务器上测试对myAppRoot/static/*
路径的访问尝试,发现了更详细的IIS错误(403.1 Forbidden)。
先前已将/static/
文件夹配置为&#34; Read&#34;访问,当它需要&#34;脚本&#34;访问。
解决方案:
将<handlers>
中<system.webServer>
的{{1}}修改为D:\someOtherPath\Web.config