At Unity2 i would have this factory registers
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("ApplicationPath", ioc => HttpContext.Current.Request.ApplicationPath);
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("ApplicationUrl", ioc => ApplicationUrl());
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("BaseUrl", ioc => BaseUrl());
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<RequestContext>(ioc => HttpContext.Current.Request.RequestContext);
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<ApplicationContext>(ioc => ApplicationContext.GetForRequest());
Now this was deprecated, and only Register would take in place, but how could i register those factories ?
Just for letting people know, the StaticFactory was replaced by the InjectionFactory, so
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("ApplicationPath", ioc => HttpContext.Current.Request.ApplicationPath);
would become
iocContainer
.RegisterType<string>("ApplicationPath", new InjectionFactory(ioc => HttpContext.Current.Request.ApplicationPath));