如何管理 mvc 涡轮机中服务的生命周期(使用 Unity)?

我有一个 ISearchService 实现 LuceneSearchService,它采用 IConfigurationService 和 ILoggerService。

目前我的搜索服务注册如下所示:

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

我想保留在 Turbine 中创建实例的责任,但我希望它是一个单例。

或者换句话说,我如何定义生命周期?

有帮助吗?

解决方案

目前,涡轮钻头不允许进行生命周期管理,因为我认为这最适合您的容器。如果您有兴趣,可以使用我在这篇博文中定义的内容: 将您最喜爱的 IoC 注入 MVC 涡轮机

如果您同意在 IServiceRegistration 实现中公开您的容器,您可以执行以下操作: 黑客攻击以暴露您的注册中的特定 SL

如果我收到很多需要生命周期管理的请求,我会将其添加到 Turbine 的 V3 中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top