将autofac转换为简单的注入器:命名实例 - WithParameter

时间:2017-02-28 15:50:48

标签: c# autofac simple-injector named-instance

我想从Autofac转换为Simple Injector ...... 我的问题是设置 命名 实例,并在Simple Injector中设置 WithParameter 。 这是autofac代码:

//cache managers
if (config.RedisCachingEnabled)
{
    builder.RegisterType<RedisConnectionWrapper>().As<IRedisConnectionWrapper>()
        .SingleInstance();

    builder.RegisterType<RedisCacheManager>().As<ICacheManager>()
        .Named<ICacheManager>("snt_cache_static")
        .InstancePerLifetimeScope();
}
else
{
    builder.RegisterType<MemoryCacheManager>().As<ICacheManager>()
        .Named<ICacheManager>("snt_cache_static")
        .SingleInstance();
}

builder.RegisterType<PerRequestCacheManager>().As<ICacheManager>()
    .Named<ICacheManager>("snt_cache_per_request")
    .InstancePerLifetimeScope();

builder.RegisterType<SettingService>().As<ISettingService>()
    .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("snt_cache_static"))
    .InstancePerLifetimeScope();

0 个答案:

没有答案