爲什麼默認工廠不會返回控制器的全名(帶名稱空間)? 我正在使用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