用于jpg文件的ASP.net MVC 3路由
我在global.asax中有一个使用此路径的MVC 3应用程序用于jpg文件的ASP.net MVC 3路由,asp.net,asp.net-mvc-3,routing,iis-7.5,jpeg,Asp.net,Asp.net Mvc 3,Routing,Iis 7.5,Jpeg,我在global.asax中有一个使用此路径的MVC 3应用程序 routes.MapRoute( "ProfilePictureSmall", // Route name "small/{PictureID}.jpg", // URL with parameters new { controller = "Pictu
routes.MapRoute(
"ProfilePictureSmall", // Route name
"small/{PictureID}.jpg", // URL with parameters
new { controller = "Picture", action = "Show", Size = "small", PictureID = Guid.Empty } // Parameter defaults
);
这是我的控制器的动作
public ActionResult Show(string Size, Guid PictureID)
此路由在我的计算机上不起作用,但在其他本地计算机、测试服务器和实时服务器上起作用。
它过去也可以在我的电脑上工作,但我最近重新安装了我的系统,所以我认为这与此有关
有人有什么想法吗
附言:所有其他路线都很好。
如果我删除.jpg也可以使用此方法,因为它是新安装的Windows,.NET Framework可能是在IIS之前安装的,并且可能没有正确注册,因此静态文件处理程序可能试图提供不存在的jpg
请尝试为我运行
aspnet\u regiis.exe-i
,将此行添加到system.webServer内部的web.config
<modules runAllManagedModulesForAllRequests="true" />
修好了
顺便说一句,我使用的是.NETMVC4.0
通过重新安装IIS,我终于让它正常工作了 我不知道我到底做了什么,但以下是我在Windows7上安装IIS时检查的功能 控制面板/打开/关闭Windows功能/Internet信息服务 这些是我所做的唯一更改(没有代码/配置更改)
您的计算机上运行的IIS版本是什么?请确保您在与其他人相同的环境中运行该站点。我有IIS 7.5.7600.16385,与测试/活动计算机和其他本地计算机完全相同。我怀疑这是IIS错误地对其进行路由。根据HTTP处理程序可能是一种方法?感谢链接,但考虑到代码在许多其他机器上都能工作(就像在重新安装系统之前在我的机器上一样),我怀疑这是一个IIS配置问题。你找到解决方案了吗?我也有同样的问题。(使用MVC4)我已经有了那套。我正在使用MVC3.0。在不久的将来,我可能会迁移到MVC4。您也尝试过设置吗?routes.RouteExistingFiles=true我还没有。奇怪的是,相同的代码(包括配置文件)在许多其他机器上运行良好。这就是为什么我猜它与我的IIS配置或类似的奇怪的东西有关/small/{PictureID}.jpg-这些文件是否实际存在于该位置?如果是,routes.RouteExistingFiles=true为NesserArry。当你说它不工作时,它会忽略你的路线,只是显示原始图像,还是给你一个错误?