当尝试重构现有的 asp.net-mvc 应用程序以使用 Turbine 作为 IoC 时,我得到以下结果:
MvcTurbine.ComponentModel.ServiceResolutionException 无法解析 serviceType 'CommonProject.Web.Shared.Controllers.SearchController' 源对象:在 MvcTurbine.Unity.UnityServiceLocator.Resolve[T](类型类型)
我的 SearchController 的(唯一)ctor 看起来像这样
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>();
不知道第一个语法应该做什么。