6

ドキュメントには、インターセプターを常に一時的にする必要があると記載されています。このサンプルコードがあれば;

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

のリリースについて心配する必要がありますか?それとも、コンテナによってSampleInterceptorサービスがリリースされると、自動的にリリースされますか?Sample.Component

4

1 に答える 1

9

一時的なインターセプターは、関連付けられたオブジェクトにバインドされた寿命を持ち、そのオブジェクトがそのオブジェクトのグラフの他の部分として解放されると解放されます

于 2012-07-06T08:57:19.680 に答える