.net - Castle Windsor Releasing Typed Factory Components -
i see breaking change made windsor following:
change - ireleasepolicy interface has new method: ireleasepolicy createsubpolicy(); usage of sub-policies changes how typed factories handle out-of-band-release of components (see description) impact - medium fixability - easy description - added attempt enable more fine grained lifetime scoping (mostly per-typed-factory right now, in future - per-window in client app). side-effect of (and change release policy behavior described above) no longer possible release objects resolved via typed factories, using container.release. objects tracked in scope of factory released if call factory releasing method made, or when factory released. fix - method should return new object exposes same behavior 'parent' best return object of same type (as built-in release policies do).
i using auto-releasing idisposable implementation described here:
because kernel.releasecomponent no longer releases components, following no longer behaves desired:
using (var instance = container.resolve<func<imydisposable>>()()) { ... } // interceptor gets called here, instance not disposed because kernel's releasepolicy doesn't track anymore.
how can work around using latest version of windsor?
thanks.
please advised change you're mentioning not part of latest 2.5.3 release, change in development version of windsor.
also not related example showed, will behave same in vnext now. that's internal change not affect unless calling out ireleasepolicy
directly.
plus remember that's not part of official release , final code/behavior may different.
Comments
Post a Comment