我正在努力使用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.有任何解决方法吗?
答案 0 :(得分:1)
由于这已被提出作为autofac bugtracker的错误,如果没有人能看到解决方法,我会将此标记为答案。他们上传了一个控制台应用程序,重现了确切的场景。
http://code.google.com/p/autofac/issues/detail?id=361&q=dynamicproxy2
编辑:现已在最新版本
中修复