È indicato nel numero documentation che è necessario rendere sempre gli interceptor transitori. Se ho questo codice di esempio;Castle Windsor - Rilasciare l'interceptor con Transient Lifestyle
//register interceptor
container.Register(Classes.FromAssemblyNamed("Sample.Interceptors")
.BasedOn<Castle.DynamicProxy.IInterceptor>()
.LifestyleTransient());
//Configure components to intercept
container.Register(Classes.FromAssemblyNamed("Sample.Component")
.IncludeNonPublicTypes().InNamespace("Sample.Component", true)
.Configure(c=>
c.Interceptors(InterceptorReference.ForType<SampleInterceptor>())
.Anywhere.LifestyleSingleton())
.WithService.DefaultInterfaces()
);
dovrei preoccupare rilasciare SampleInterceptor
, o sarà rilasciato automaticamente una volta che il servizio in Sample.Component
è stata rilasciata dal contenitore?
ho avuto un buon feeling che questo sarà il comportamento dell'intercettore transitorio, ma non è stato chiaramente descritto nella documentazione. Grazie mille! – soya
Sentiti libero di aggiornare la documentazione per renderla più chiara :) È una wiki aperta –