簡體   English   中英

使用Castle Fluent界面注冊攔截器

[英]Register an Interceptor with Castle Fluent Interface

我正在嘗試通過攔截器實現nhibernate事務處理 ,但無法弄清楚如何通過流暢的機制注冊接口。

我看到一個

Component.For<ServicesInterceptor>().Interceptors

但不確定如何使用。 有人可以幫我嗎? 這個例子似乎有點復雜。

您分兩個步驟進行操作:

  • 您需要在容器中將攔截器注冊為服務:
 container.Register(Component.For<MyInterceptor>()); 
  • 您注冊要攔截的組件。 在fluent API上使用Interceptors方法,您可以指定要使用以下哪個攔截器(按鍵或類型)攔截該組件:
 container.Register(Component.For<IFoo>().ImplementedBy<Foo>() .Interceptors<MyInterceptor>()); 

有關更多詳細信息,請參見文檔

首先注冊攔截器:

container.Register(Component.For<IDbInterceptor>().ImplementedBy<DbInterceptor>().Named("transactionInterceptor"));

然后注冊被攔截的對象:

container.Register(Component.For <IMyService>()。ImplementedBy <MyService>()。Named(“ MyService”)。Interceptors(new InterceptorReference(“ transactionInterceptor”))。Anywhere);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM