我正在创建一个asp.net MVC3演示应用程序。我已经使用此线程附加了应用程序。我在尝试运行应用程序时遇到HTTP错误403.14 - 禁止问题。该问题仅在特定方案中发生。即在global.asax中的RegisterRoutes方法中 只有以下代码然后出现问题。
routes.MapRoute(
"Process1", // Route name
"Process/List" // URL with parameters
);
如果我们使用默认路由的上述代码,应用程序正常工作没有任何问题。当我在寄存器路由方法中单独使用此特定代码时,会出现此问题。 我尝试了这个link中给出的解决方案,但它没有用。 我假设该代码存在问题。如果是,请告诉我导致问题的原因。我使用Windows 8.1& iis是8.5。 代码可以找到here
答案 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才能使其正常工作。添加一个默认值,然后您可以添加此路线。