ASP.NET MVC Core - 使用自定义类库替换控制器

时间:2016-05-13 15:30:05

标签: asp.net-mvc asp.net-core-mvc

我的核心产品有一些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核心?

1 个答案:

答案 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();
}