2011-10-19 49 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問題 - 我自己的問題。