Asp.net mvc MVC:;传入请求与任何路由都不匹配。”使用默认请求

Asp.net mvc MVC:;传入请求与任何路由都不匹配。”使用默认请求,asp.net-mvc,url-routing,Asp.net Mvc,Url Routing,我只是偶尔会犯这样的错误(显然是随机的,尽管我知道在计算机中真的没有这样的错误) 我正在VS2008的MVC(第1版)网站上工作。计算机运行的是带有IIS 7的Windows 7,但此实例是在内置于VS(Cassini?)中的Web服务器下运行的。当我执行F5开始运行它时,有时会在Default.aspx.cs的Page_Load方法的第4行出现异常陷阱: httpHandler.ProcessRequest(HttpContext.Current); 例外方法是: 传入请求与任何路由都不匹配

我只是偶尔会犯这样的错误(显然是随机的,尽管我知道在计算机中真的没有这样的错误)

我正在VS2008的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}”)。应用程序启动例程配置了StructureMap,并在调用RegisterRoutes之前调用了SetControllerFactory,但在其他方面它是标准的

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

有什么线索吗


谢谢。

设置默认页面。asp.net中的F5将启动到选定的任何页面。然而,由于在MVC中,您的视图可能有关联的控制器功能,也可能没有关联的控制器功能,因此它可能试图调用一个不存在的操作。打开项目属性并将调试开始页设置为站点主控制器操作。

对不起,我的英语不好

我也有这个问题!错误地调用路由的方法应用程序\u Start在Global.asax中消失了

vb.net:

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

如果此方法不存在,请将其放入global.asax中

Russell,感谢您花时间回复。有一个默认页面集,它是运行并引发异常的默认页面(default.aspx.cs)的标准代码。有一个启动项目集,所有操作都存在,特别是默认操作(controller=home,action=index)。由于它大部分时间都在运行,而且只是间歇性地失败,所以很难看出问题出在哪里。我收集了更多的信息,并找出了发生这种情况的环境(毕竟它不是随机的)。但我还是不明白。如果我尝试在VS中调试程序,但SQL server没有在我的计算机上运行,则该程序会在StructureMap中引发异常,这是可以理解的,也是意料之中的。如果我停止调试器,启动SQL server,然后重新运行程序,就会出现这些错误。我仍然无法获得连接,但至少我知道如何防止连接发生(关闭VS,启动SQL server,然后重新启动)。Dave-你知道是什么导致了这种情况吗?我也有同样的事情发生在我身上。我在Global.asax:Application_Start()中设置了一个断点-未命中该断点。