我收到这个错误只是有时候(显然是随机的,虽然我知道计算机里真的没有这样的东西)。
我正在使用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,问题就会消失。 (并且几乎总是如果我重新启动机器)。
任何线索?
感谢。
答案 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中(如果它不存在)