使用DynamicProxy2拦截与WcfIntegration的Autofac

时间:2012-05-09 04:07:52

标签: autofac interception iinterceptor

我正在努力使用WcfIntegration与IInterceptor连接服务接口。

autofac文档中各有一些示例,但两者都没有结合。

以下是WcfIntegration的文档,并在此处查看DynamicProxy2 文档。

有没有人使用Autofac成功地使用WcfIntegration连接拦截器?

我希望工作的示例代码:

            builder.Register(c => new CacheInterceptor())
            .Named<IInterceptor>("cache-calls");

        builder
            .RegisterType<ChannelFactory<IEnquiryService>>()
            .AsSelf()
            .WithParameter(new NamedParameter("endpointConfigurationName", "EnquiryService"))
            .SingleInstance();

        builder
            .Register(c => c.Resolve<ChannelFactory<IEnquiryService>>().CreateChannel())
            .As<IEnquiryService>()
            .EnableInterfaceInterceptors()
            .InterceptedBy("cache-calls");

编辑:

似乎已经记录了一个错误autofac site.有任何解决方法吗?

1 个答案:

答案 0 :(得分:1)

由于这已被提出作为autofac bugtracker的错误,如果没有人能看到解决方法,我会将此标记为答案。他们上传了一个控制台应用程序,重现了确切的场景。

http://code.google.com/p/autofac/issues/detail?id=361&q=dynamicproxy2

编辑:现已在最新版本

中修复