我对asp.net mvc中的路由有一个恼人的问题。我已经创建了一个自定义路由处理程序来处理对我的站点的XMLRPC调用,我想将它路由到/ xmlrpc / pingback。
在global.asax.cs中我有这个:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.Add(new Route("xmlrpc/pingback", null,
new RouteValueDictionary(),
new PingbackRouteHandler()));
现在找不到xmlrpc / pingback,因为没有名为xmlrpc的控制器。
如果我将订单切换到xmlrpc路由首先xmlrpc工作,但每个其他/控制器/操作路由都映射到/ xmlrpc / pingback?controller = home& action = index。
如何创建一个匹配除“xmlrpc”之外的每个控制器名称的约束?或者还有另一种方法吗?
// Joan
答案 0 :(得分:2)
您可以将controller = "Fake"
添加到Pingback路由的默认值,以防止它与其他路由匹配。