我的核心产品有一些MVC控制器。
我希望能够使用自定义类库覆盖特定于客户端的某些操作(比方说MyProduct.MVC.Custom.dll)。
在以前版本的MVC中,可以使用routes.MapRoute(namespaces:new [] {“MyProduct.MVC.Custom”}
在当前的MVC中,我们没有这样的选项,并且收到以下错误消息:
AmbiguousActionException:匹配多个动作。以下操作匹配路由数据并满足所有约束:
MyProduct.MVC.Custom.Controllers.HomeController.About
MyProduct.MVC.Controllers.HomeController.About
Microsoft.AspNet.Mvc.Infrastructure.DefaultActionSelector.SelectAsync(RouteContext context)
Google建议我使用区域,但我想用相同的网址替换控制器的操作。
是否有可能实现这一点是ASP.NET MVC核心?
答案 0 :(得分:1)
我终于知道如何做到这一点。
可以使用Route
Order=0
属性来实现
[Route("[controller]/[action]",Name ="Replacement", Order = 0)]
public IActionResult About()
{
ViewData["Message"] = "This is About from Custom controller!!!!!!!!!!!!!!";
return View();
}