EDIT:
Я перефразировал вопрос, поскольку смог упростить свою проблему до следующего:
var container = new WindsorContainer();
container.Register(Component.For<IFoo>().ImplementedBy<Foo>().LifeStyle.Singleton);
var foo = container.Resolve<IFoo>();
container.Kernel.ReleaseComponent(foo);
var foo2 = container.Resolve<IFoo>();
Assert.IsTrue(foo != foo2) // this fails
public interface IFoo : IDisposable { }
public class Foo : IFoo {
public void Dispose()
{
}
}
Я, должно быть, делаю что-то действительно глупое ... любая идея, что?
По сути, я пытаюсь добиться того, чтобы все разрешения компонента возвращали один и тот же экземпляр в течение некоторого периода времени (область действия). Если есть лучший способ сделать это, я, безусловно, открыт для этого.
EDIT:
Итак, я RTFM, и, видимо, это дизайн. Является ли лучший способ добиться того, чего я хочу здесь, по-прежнему менеджер по индивидуальному образу жизни?
Спасибо.