为什么默认工厂不会返回控制器的全名(带名称空间)? 我正在使用Service Locator和autofac。带区域的MVC 2 Beta DefaultControllerFactory
using System.Web.Mvc;
using Microsoft.Practices.ServiceLocation;
namespace Application.Core.MVC
{
public override IController CreateController(System.Web.Routing.RequestContext requestContext, string **controllerName**)
{
return ServiceLocator.Current.GetInstance<IController>(controllerName);
}
}
我有两个家控制器(一个下面积博客)
controllerName仅返回 “家” 没有完全限定名称无论是在上面的代码。 当我尝试为依赖注入注册控制器名称时,会产生问题。 根据这种情况,我现在如何注册控制器。即使这样也会毫无例外地出现这些页面。但是,当我访问http://localhost/Home时,两个控制器无论如何调用。
foreach (var tp in currentAssemblyControllersTypes)
builder.Register(tp).FactoryScoped().Named(tp.Name.Replace("Controller", ""));
任何人都可以帮忙?谢谢。
谢谢。我应该只使用GetControllerInstance()。 – stoto 2009-11-26 15:58:30