private static void RegisterTypes(this IServiceCollection services, TypeDescriptionList types) { foreach (var item in types) { switch (item.LifeCycle) { case LifeCycle.PerRequest: services.AddTransient(item.Interface, item.Implementation); break; case LifeCycle.SingleInstance: services.AddSingleton(item.Interface, item.Implementation); break; case LifeCycle.PerLifeTime: services.AddTransient(item.Interface, item.Implementation); break; case LifeCycle.PerDependency: services.AddScoped(item.Interface, item.Implementation); break; default: break; } } }
public TypeDescriptionList TypeDescriptions() { var mappings = new TypeDescriptionList(); mappings.Add(typeof(IContentProvider), typeof(DefaultContentProvider)); mappings.Add(typeof(IModelBinderProvider), typeof(DD4TViewModelModelBinder)); return(mappings); }
public TypeDescriptionList TypeDescriptions() { var list = new TypeDescriptionList(); list.Add(typeof(IModelBinderProvider), typeof(SitemapItemModelBinder)); list.Add(typeof(INavigationProvider), typeof(NavigationProvider)); list.Add(typeof(IContentProvider), typeof(NavigationContentProvider)); return(list); }
public TypeDescriptionList TypeDescriptions() { var mappings = new TypeDescriptionList(); mappings.Add(typeof(IPageProvider), typeof(PageProvider)); mappings.Add(typeof(ILinkProvider), typeof(LinkProvider)); mappings.Add(typeof(IComponentPresentationProvider), typeof(ComponentPresentationProvider)); mappings.Add(typeof(IBinaryProvider), typeof(BinaryProvider)); return(mappings); }
private static void RegisterTypes(this ContainerBuilder builder, TypeDescriptionList types) { foreach (var item in types) { switch (item.LifeCycle) { case LifeCycle.PerRequest: builder.RegisterType(item.Implementation) .As(item.Interface) .InstancePerRequest() .PreserveExistingDefaults(); break; case LifeCycle.SingleInstance: builder.RegisterType(item.Implementation) .As(item.Interface) .SingleInstance() .PreserveExistingDefaults(); break; case LifeCycle.PerLifeTime: builder.RegisterType(item.Implementation) .As(item.Interface) .InstancePerLifetimeScope() .PreserveExistingDefaults(); break; case LifeCycle.PerDependency: builder.RegisterType(item.Implementation) .As(item.Interface) .InstancePerDependency() .PreserveExistingDefaults(); break; default: break; } } }