我在 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 可以工作,但所有其他 /controller/action 路由都映射到 /xmlrpc/pingback?controller=home&action=index。
如何创建一个匹配除“xmlrpc”之外的每个控制器名称的约束?还是有另一种方法可以做到这一点?
//琼