2011-10-19 46 views
0

有一些关于SO的问题看起来类似,但没有任何我所看到的涵盖了我的场景。Ninject与WCF再次

我没有使用WCF扩展。这就是我如何与Ninject注册WCF服务:

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

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

现在这个调用返回,你可以想象一个透明代理,并且Ninject在Context.Resolve上调用GetType时,返回方法null。然后,当激活计划试图建立一个异常抛出Planner.GetPlan不接受空值。

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

回答

1

原来问题出现在问题中没有描述的部分(就像在许多情况下一样)。基本上,拨打GetType也可以通过代理路由,我应该猜到了。在通过ClientBase.Invoke重写的方式中,在'ClientBase.Channel'(这是标准的WCF类型)上搜索调用的方法。自然,这个方法在通道上找不到,因为它只实现接口方法。因此,我得到空。不是Ninject问题 - 我自己的问题。