C# 无法解析serviceType[控制器名称]
尝试重构现有asp.net-mvc应用程序以将Turbine用作IoC时,我得到以下结果: MvcTurbine.ComponentModel.ServiceResolutionException Could not resolve serviceType 'CommonProject.Web.Shared.Controllers.SearchController' Source Object: at MvcTurbine.Unity.UnityServiceLocator.Resolve[T](Type type) 我的注册是这样的C# 无法解析serviceType[控制器名称],c#,asp.net-mvc,ioc-container,turbine,C#,Asp.net Mvc,Ioc Container,Turbine,尝试重构现有asp.net-mvc应用程序以将Turbine用作IoC时,我得到以下结果: MvcTurbine.ComponentModel.ServiceResolutionException Could not resolve serviceType 'CommonProject.Web.Shared.Controllers.SearchController' Source Object: at MvcTurbine.Unity.UnityServiceLocator.Resolve[
public SearchController(ISearchService searchService):base(new SearchViewData())
{
this.searchService = searchService;
}
public class SearchServiceRegistration: IServiceRegistration
{
public void Register(IServiceLocator locator)
{
locator.Register<ISearchService>(typeof(LuceneSearchService));
}
}
更新
我发现这有点愚蠢
locator.Register<ISearchService>(typeof(LuceneSearchService));
应该是
locator.Register<ISearchService,LuceneSearchService>();
不知道第一个语法应该做什么。你错过了SearchController的注册吗?据我所知,DI概念,控制器不需要注册。不过我找到了解决办法。我会把它放在OP里