在反序列化数据合同代理中注入服务

时间:2012-11-30 17:32:19

标签: wcf autofac

我在项目中使用Autofac和WCF集成。我正在试图找出一种延迟初始化数据协定代理集合属性的方法,以避免在整个线路上传输整个对象图。

我目前的计划是在每个反序列化的数据协定中注入WCF服务,以便他们调用服务,获取集合属性数据并初始化它。

我的问题是:有没有办法告诉Autofac在客户端反序列化的每个数据协定代理中注入服务?就像在DataContractSerializer或其他地方做一些调整一样。

(没有服务定位器,请......)

谢谢!

1 个答案:

答案 0 :(得分:0)

不幸的是,没有像Autofac这样的“开箱即用”。 Autofac的MVC集成中有类似的东西,但那是因为MVC对于那种事情(IActionInvoker)有一个更具体的集成点。

您可以编写一个自定义客户端行为,拦截客户端上的某些已知类型(如集合),并交换延迟初始化集合。 There's a similar question here asking about how to swap the DataContractSerializer out at runtime.你可以使用这样的机制。