2013-07-10 153 views
4

我想控制服務的創建,所以我可以做出必要的調整以使服務的方法調用可以被攔截。通過將LinFu後綴到服務的DLL,可以實現攔截。ServiceStack上是否有自定義服務工廠,類似於ASP.NET MVC的自定義控制器工廠?

我們可以在ServiceStack上做DI,但它不會干擾代碼;如果通過DI進行日誌服務調用,每個服務都需要爲ILogger公開一個DI接口。 AOP可以消除需要放置DI注入接口,AOP是最佳代碼DRYer

ServiceStack上是否存在自定義服務工廠?所以乾燥的代碼可能

這使我想實現我的服務AOP:http://www.codeproject.com/Articles/23333/Introducing-LinFu-Part-VI-LinFu-AOP-Pervasive-Meth

回答

2

您的DI容器實現一個IContainerAdapter(和可選IRelease),然後在AppHost.Configure電線它。例如。對於溫莎你做:

public override void Configure(Funq.Container container) 
    { 
     ... 
     var compositionRoot = new WindsorCompositionRoot(WindsorContainer); 
     container.Adapter = compositionRoot; 
     container.CheckAdapterFirst = true; 
     ... 
    }