【问题标题】:Could not resolve serviceType [controller name]无法解析 serviceType [控制器名称]
【发布时间】:2010-12-27 15:52:24
【问题描述】:

当尝试重构现有的 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>();

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

【问题讨论】:

    标签: c# asp.net-mvc ioc-container turbine


    【解决方案1】:

    您是否错过了 SearchController 的注册?

    【讨论】:

    • 据我了解DI概念,控制器应该不需要注册。我找到了解决方案。我会把它放在OP中
    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2017-05-30
    • 2020-05-01
    • 2016-06-23
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多