2009-12-17 28 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