2016-05-13 50 views
0

我有一些MVC控制器的核心產品。ASP.NET MVC核心 - 使用自定義類庫替換控制器

我想有能力使用自定義類庫(比方說MyProduct.MVC.Custom.dll)來覆蓋特定於客戶端的一些操作。

在MVC的以前版本中使用它routes.MapRoute(命名空間是可能的,新的[] {「MyProduct.MVC.Custom」}

在目前的MVC,我們沒有這樣的選擇,我收到以下錯誤消息:

AmbiguousActionException:匹配多個動作匹配的路由數據以下行動,並已全部滿足的約束。

MyProduct.MVC.Custom.Controllers.HomeController.About

MyProduct.MVC.Controllers.HomeController.About

Microsoft.AspNet.Mvc.Infrastructure.DefaultActionSelector.SelectAsync(RouteContext上下文)

谷歌建議我使用領域,但我想更換控制器的採用相同網址的操作。

是否有可能實現這是ASP.NET MVC核心?

回答

1

我終於管理如何做到這一點。

它可以通過Route屬性來實現與Order=0

[Route("[controller]/[action]",Name ="Replacement", Order = 0)] 
public IActionResult About() 
{ 
    ViewData["Message"] = "This is About from Custom controller!!!!!!!!!!!!!!"; 

    return View(); 
}