7

我在 global.asax 中有一个带有这条路线的 MVC 3 应用程序

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)

这条路线不适用于我的计算机,但它适用于其他本地计算机以及测试服务器和实时服务器。它曾经也可以在我的 PC 上运行,但我最近重新安装了我的系统,所以我认为它与此有关。

有没有人有任何想法?

PS:所有其他路线都可以正常工作。如果我删除.jpg,这个也可以

4

3 回答 3

5

对我来说,将此行添加到 system.webServer 内的 web.config

<modules runAllManagedModulesForAllRequests="true" />

解决它。

顺便提一句。我正在使用.Net MVC 4.0

资源

于 2013-01-21T20:26:54.733 回答
0

我终于通过重新安装 IIS 让它工作了。

我不知道我到底做了什么,但这里是我在 Windows 7 控制面板/关闭 Windows 功能/Internet 信息服务上安装 IIS 时检查的功能

这些是我所做的唯一更改(没有代码/配置更改)

在此处输入图像描述

于 2013-01-31T08:56:15.657 回答
0

由于它是全新安装的 Windows,.NET Framework 可能已在 IIS 之前安装并且可能未正确注册,因此静态文件处理程序可能会尝试提供不存在的 jpg。

尝试运行aspnet_regiis.exe -i

于 2012-11-28T03:47:02.943 回答