我有以下代码在MVC 2中添加区域之前运行良好:
protected override IWindsorContainer CreateContainer(string windsorConfig)
{
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For<IUnitOfWorkFactory>()
.ImplementedBy<NHibernateUnitOfWorkFactory>());
container.Register(AllTypes.Of<IController>()
.FromAssembly(typeof(HomeController).Assembly)
.Configure(t => t.Named(t.Implementation.Name.ToUpper())
.LifeStyle.Is(LifestyleType.Transient)));
return container;
}
它不再适用于MVC 2.0区域功能。
您可以指导我完成一个可能的解决方案
由于
答案 0 :(得分:0)
控制器需要使用小写名称注册。见this article。我建议使用MvcContrib,它有扩展方法,可以在Windsor中轻松注册控制器,处理这些细节,还有一个ControllerFactory实现。