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();