Ninject再次使用WCF

时间:2011-10-19 18:59:19

标签: ninject

有很多关于SO的问题看起来类似,但我所看到的都没有涵盖我的情景。

我没有使用WCF扩展。这是我用Ninject注册WCF服务的方法:

Bind<IPricingService>().ToMethod(Create).InSingletonScope();

Create方法归结为调用WCF提供的RealProxy.GetTransparentProxy

现在这个调用返回,正如您可以想象的那样透明代理,并且当Ninject在Context.Resolve方法null中调用GetType时返回。然后,当尝试构建激活计划时,抛出异常,因为Planner.GetPlan不接受空值。

有人知道这里有什么问题吗?

1 个答案:

答案 0 :(得分:1)

事实证明,问题中没有描述的问题是(就像很多情况下的SO一样)。基本上,对GetType的调用也会通过代理进行路由,我应该猜到了。在它来自ClientBase.Invoke覆盖的方式,其中在'ClientBase.Channel'上搜索要调用的方法(这是标准的WCF类型)。当然,这种方法在通道上找不到,因为它只实现了接口方法。因此我得到了空。不是Ninject问题 - 我自己的问题。

相关问题