【发布时间】:2012-05-09 18:56:36
【问题描述】:
我在 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”之外的每个控制器名称的约束?或者有其他方法吗?
//琼
【问题讨论】:
-
为什么不直接使用 MVC 控制器而不是自定义处理程序?
标签: asp.net-mvc-3 routes