我正在使用 IOC 注入一个对象,但由于对象中的内部缓存,我想确保每次调用它时都有一个新的对象实例。波纹管代码第一次用于创建实例,但它似乎保留了该实例并将其重用于后续调用
_container = new WindsorContainer().Install(
FromAssembly.Containing<RepositoryInstaller>());
_container.AddFacility<TypedFactoryFacility>();
_container.Register(
Component.For<Func<MyUnitOfWork>>()
.Instance(() => {
return _container.Resolve<MyUnitOfWork>();
}).LifeStyle.Transient);
我想要的是能够调用已解析的 Func 实例,但让 IOC 容器每次都为我提供一个新的 MyUnitOfWork 实例:
//invoke FUNC and ensure that instance of MyUnitOfWork is created every time
var newInstance = myInstance();