Не удалось разрешить serviceType [имя контроллера] - PullRequest
0 голосов
/ 17 декабря 2009

При попытке изменить существующее приложение 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)

(только) ctor для моего 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>();

Не знаю, что должен делать первый синтаксис.

1 Ответ

0 голосов
/ 17 декабря 2009

Вам не хватает регистрации для SearchController?

...