.Net MVC 3 403.14错误

时间:2016-04-17 11:55:14

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我正在创建一个asp.net MVC3演示应用程序。我已经使用此线程附加了应用程序。我在尝试运行应用程序时遇到HTTP错误403.14 - 禁止enter image description here问题。该问题仅在特定方案中发生。即在global.asax中的RegisterRoutes方法中 只有以下代码然后出现问题。

 routes.MapRoute(
                "Process1", // Route name
                "Process/List" // URL with parameters
            );

如果我们使用默认路由的上述代码,应用程序正常工作没有任何问题。当我在寄存器路由方法中单独使用此特定代码时,会出现此问题。 我尝试了这个link中给出的解决方案,但它没有用。 我假设该代码存在问题。如果是,请告诉我导致问题的原因。我使用Windows 8.1& iis是8.5。 代码可以找到here

2 个答案:

答案 0 :(得分:0)

您已删除默认路由并定义了以下路由:

routes.MapRoute(
    "Process1", // Route name
    "Process/List" // URL with parameters
);

在本声明中,不清楚哪个控制器和哪个动作应该是什么 执行。你应该明确说明:

routes.MapRoute(
    "Process1", // Route name
    "Process/List", // URL with parameters
    new { controller = "MyController", action = "MyAction" }
);

然后确保您正在向您定义的正确网址发出请求:

http://localhost:1619/Process/List

因为您没有配置任何能够处理您在屏幕截图中看到的http://localhost:1619/请求的路由。

当然,拥有这样的路线是完全有限的。您在MVC应用程序中可能拥有的唯一控制器操作是在路由配置中定义的操作。这在SPA应用程序中很好,在该应用程序中,您有一个服务于SPA的单一入口点和一个单独的ASP.NET Web API,但在具有多个控制器和操作的真实ASP.NET MVC应用程序中,它不起作用。因此,在这种情况下,您可能希望保留默认路由,并且不要在此区域进行实验。

答案 1 :(得分:0)

您的global.asax文件中必须有一个默认的root才能使其正常工作。添加一个默认值,然后您可以添加此路线。