2009-12-17 26 views
0

当试图重构现有的asp.net-MVC应用程序使用涡轮作为一个IoC我得到以下结果:无法解析的serviceType [控制器名称]

 
MvcTurbine.ComponentModel.ServiceResolutionException 
Could not resolve serviceType 'CommonProject.Web.Shared.Controllers.SearchController' 
Source Object: at MvcTurbine.Unity.UnityServiceLocator.Resolve[T](Type type) 

的(唯一的)构造函数对我SearchController看起来是这样的

public SearchController(ISearchService searchService):base(new SearchViewData()) 
{ 
    this.searchService = searchService; 
} 

而且我的注册看起来像这样

public class SearchServiceRegistration: IServiceRegistration 
{ 
    public void Register(IServiceLocator locator) 
    { 
     locator.Register<ISearchService>(typeof(LuceneSearchService)); 
    } 
} 

UPDATE

我发现它(这是一个有点傻)

locator.Register<ISearchService>(typeof(LuceneSearchService)); 

应该已经

locator.Register<ISearchService,LuceneSearchService>(); 

不知道是什么第一语法应该做虽然。

回答

0

您是否错过了SearchController的注册?

+0

据我了解DI概念,控制器不应该需要注册。尽管我找到了解决方案。我会把它放在OP中 – 2009-12-17 13:35:42