4

我想控制服务的创建,以便进行必要的调整以使服务的方法调用可拦截。拦截将通过 LinFu 后织到服务的 DLL 来实现

我们可以在 ServiceStack 上做 DI,但它不会 DRY 代码;如果通过 DI 进行记录服务调用,则每个服务都需要为 ILogger 公开一个 DI 接口。AOP可以省去放一个DI注入的接口,AOP是最好的代码DRYer

ServiceStack 上是否有自定义服务工厂?所以干燥代码是可能的

这让我想在我的服务上实现 AOP:http: //www.codeproject.com/Articles/23333/Introducing-LinFu-Part-VI-LinFu-AOP-Pervasive-Meth

4

1 回答 1

2

为您的 DI 容器实现 IContainerAdapter(以及可选的 IRelease),然后将其连接到 AppHost.Configure。例如,对于温莎,您可以:

    public override void Configure(Funq.Container container)
    {
        ...
        var compositionRoot = new WindsorCompositionRoot(WindsorContainer);
        container.Adapter = compositionRoot; 
        container.CheckAdapterFirst = true;
        ...
    }
于 2013-07-11T01:32:16.637 回答