2

两个不同的领域取得成果,我有两个方面:不同的控制器具有相同的名称,在路由冲突

ControlPanelPatients

两者都有一个名为ProblemsController这是唯一的名字类似的控制器。所期望的结果将是,产生/ ControlPanel控制/问题=> MyApp.Areas.ControlPanel.Controllers.ProblemsController和/患者/问题=> MyApp.Areas.Patients.Controllers.ProblemsController路由。

每个人都有路由配置是这样的:

public override void RegisterArea(AreaRegistrationContext context) 
     { 
      context.MapRoute(
       "**Area Name Here**_default", 
       "**Area Name Here**/{controller}/{action}/{id}", 
       new { action = "Index", id = UrlParameter.Optional } 
      ); 
     } 

其中*****区域名称这里*****或者是ControlPanel控制或患者。

当我去/病人/问题/创建(例如),我得到一个404,在路由错误说:A public action method 'create' was not found on controller 'MyApp.Areas.ControlPanel.Controllers.ProblemsController'

我不知道我在做什么错。

回答

1

其实,原来的问题是与Autofac 2.1的AutofacControllerFactory。这些路线工作正常,但autofac很难找到正确的控制器。

对于那些使用Autofac和MVC 2.0,Autofac 2.1不具备的地区的支持。如果你的项目是很简单的,Autofac可能出现与地区工作,但它会开始打破作为你的领域和控制器变得更加复杂。

完整区域支持的门票已关闭,相关代码也已签入,但从我所知道的情况来看,直到2.2版本才会发布。我会试着从后备箱里修建,然后我会报告它是怎么回事。

UPDATE 是的,一切看起来不错,使用自行车从树干建成。希望2.2将很快正式发布。

相关问题