|
|
//global types
builder.RegisterInstance(appSettings, new ContainerControlledLifetimeManager());
builder.RegisterInstance(appSettings.CkConnectionString, new ContainerControlledLifetimeManager());
builder.RegisterType<IWebEnvironment, WebEnvironment>(new ContainerControlledLifetimeManager());
builder.RegisterType<PerSiteResourceCaches, PerSiteResourceCaches>(new ContainerControlledLifetimeManager());
builder.RegisterType<IRepositoryProvider, CkLinqRepositoryProvider>(new ContainerControlledLifetimeManager());
builder.RegisterType<TagCacheHolder, TagCacheHolder>(new ContainerControlledLifetimeManager());
//builder.RegisterInstance<GlobalResourceService>(globalResourceService, new ContainerControlledLifetimeManager()); //why is this not registered?
//per request types
builder.RegisterType<HttpContextBase>(() => new HttpContextWrapper(HttpContext.Current));
builder.RegisterType<TimeService, SystemTimeService>();
builder.RegisterType<IRepository, CkLinqRepository>();
builder.RegisterType<CodeKickerDataContext>(() => new CodeKickerDataContext());
builder.RegisterType<IUserService, UserService>();
builder.RegisterType<IJobQueue, LinqJobQueue>();
builder.RegisterType<IMailService, MailService>();
//...
builder.Container.Configure<InjectedMembers>().ConfigureInjectionFor<CkLinqRepository>(new InjectionMember[]
{
new InjectionConstructor(
new ResolvedParameter<CodeKickerDataContext>(),
new ResolvedParameter<IConfiguration>()),
});
builder.Container.Configure<InjectedMembers>().ConfigureInjectionFor<PerRequestResourceService>(new InjectionMember[]
{
new InjectionConstructor(
new InjectionParameter<GlobalResourceService>(globalResourceService),
new ResolvedParameter<PerSiteResourceCaches>(),
new ResolvedParameter<IConfiguration>(),
new ResolvedParameter<FileStorageService>(),
new ResolvedParameter<CkConnectionString>()),
});
|
|
|
|
|
|
|
|