将MVC应用程序发布到默认Web站点内的虚拟目录时未显示的图像

时间:2010-05-03 14:52:19

标签: asp.net-mvc iis routing virtual-directory

我正在使用ASP.NET MVC 1和VS2008开发应用程序。当我在WinXP上的IIS6中将其部署到默认网站时,所有图像都正确显示,任何给定图像的路径是localhost / Content / ImagesUI / [image]。[ext]

当我将其部署到在同一站点内创建的虚拟目录时,任何图像请求都会返回IIS标准404错误页面,而路径为localhost / [DirectoryName] / Content / ImagesUI / [image]。[ext] - 那似乎是正确的,是真的吗?

我在站点和目录配置中将。*映射到c:\ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll。删除此映射后,将正确显示图像。但是,当然,所有其他URL都不起作用。

当我尝试在浏览器中使用URL打开图像时,aspnet_wp.exe进程甚至没有启动(我重新启动IIS来测试它) - 我只是得到404或图像,具体取决于*的存在映射。因此,我认为它与注册MVC的路由无关,也与ASP无关。

我找到的解决方案是将Content文件夹设为虚拟目录,并从其配置中删除*映射。虽然这在某种程度上是可以的,但我想要一个更好的解决方案,它将解释并消除问题的原因,而不仅仅是解决它。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

哈!它本地化为包含'。'的虚拟目录名称。在里面。我删除了期限,它的工作原理!我肯定会在没有这段时间的情况下继续工作,但有没有解释呢?