maw*_*tex 15 asp.net-mvc-routing
我有一个本地URL列表,我需要确定它们是否是"有效的MVC路径".如何检查URL(路径)是否映射到MVC控制器?
Phil Haack的Route Debugger将找到一条与当前请求匹配的路由,并使用当前的HttpContext进行匹配.我希望得到这些信息,而不是建立一个模拟HttpContext - 如果可能的话.
SLa*_*aks 16
您可以RouteTable.Routes.GetRouteData使用模拟的HttpContextBase 进行调用.
使用请求在内部匹配路由AppRelativeCurrentExecutionFilePath.
但是,此功能未公开,因此您需要传递HttpContextBase.
您需要创建一个在其请求属性中HttpContextBase返回HttpRequestBase实例的类.
本HttpRequestBase类需要返回你的道路,与开始~/,在其AppRelativeCurrentExecutionFilePath属性.
您不需要实现任何其他属性,除非它们被IRouteConstraints使用.
要检查是否有MVC路由,请检查是否有结果routeData.Handler is MvcRouteHandler.