Unity Container 2 from 5 已弃用 AddNewExtension
Unity Container 2 from 5 deprecated AddNewExtension
在 Unity2,我会让这个工厂注册
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());
现在这已被弃用,只有 Register 会发生,但我如何注册这些工厂?
只是为了让人们知道,StaticFactory 被 InjectionFactory 取代了,所以
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("ApplicationPath", ioc => HttpContext.Current.Request.ApplicationPath);
会变成
iocContainer
.RegisterType<string>("ApplicationPath", new InjectionFactory(ioc => HttpContext.Current.Request.ApplicationPath));
在 Unity2,我会让这个工厂注册
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());
现在这已被弃用,只有 Register 会发生,但我如何注册这些工厂?
只是为了让人们知道,StaticFactory 被 InjectionFactory 取代了,所以
iocContainer.AddNewExtension<StaticFactoryExtension>()
.Configure<IStaticFactoryConfiguration>()
.RegisterFactory<string>("ApplicationPath", ioc => HttpContext.Current.Request.ApplicationPath);
会变成
iocContainer
.RegisterType<string>("ApplicationPath", new InjectionFactory(ioc => HttpContext.Current.Request.ApplicationPath));