MVC:“传入的请求与任何路由都不匹配。” - 使用默认请求

时间:2009-10-12 18:53:44

标签: asp.net-mvc url-routing

我收到这个错误只是有时候(显然是随机的,虽然我知道计算机里真的没有这样的东西)。

我正在使用VS 2008中的MVC(第1版)站点。该计算机运行的是带有IIS 7的Windows 7,但此实例是在VS(Cassini?)内置的Web服务器下运行的。当我使用F5开始运行它时,我有时会在Default.aspx.cs的Page_Load方法的第4行得到异常陷阱:

httpHandler.ProcessRequest(HttpContext.Current);

异常方法是: 传入的请求与任何路由都不匹配。

检查HttpContext.Current.Request对象显示路径为“/”,rawUrl为“/Default.aspx?” - 即您对网站的正常空请求。

MapRoutes例程几乎是标准的,除了几条IgnoreRoutes行(忽略“pics / {* imgfile}”,忽略“{* favicon}”)。 Application_Start例程具有StructureMap的配置,并且在调用RegisterRoutes之前调用SetControllerFactory,但它是标准的。

通常,如果我重启VS,问题就会消失。 (并且几乎总是如果我重新启动机器)。

任何线索?

感谢。

2 个答案:

答案 0 :(得分:1)

设置默认页面。 asp.net中的F5将启动到所选的任何页面。但是,由于在MVC中,您的View可能有也可能没有关联的控制器功能,它可能会尝试调用不存在的操作。打开项目属性并将调试开始页面设置为站点主控制器操作。

答案 1 :(得分:0)

抱歉,我的英语很差......

我也有这个问题!神奇地调用路由的Application_Start方法在Global.asax !!中消失了

vb.net:

Sub Application_Start()
    RegisterRoutes(RouteTable.Routes)
End Sub

将此方法放在global.asax中(如果它不存在)