Снова впитать с WCF - PullRequest
       2

Снова впитать с WCF

0 голосов
/ 19 октября 2011

Есть несколько вопросов по SO, которые выглядят похожими, но ни один из того, что я видел, не охватывает мой сценарий.

Я не использую расширение WCF.Вот как я регистрирую службу WCF в Ninject:

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

Где метод Create сводится к вызову RealProxy.GetTransparentProxy, предоставленному WCF.

Теперь этот вызов возвращается, так как выможет представить прозрачный прокси, и когда Ninject вызывает GetType для него в Context.Resolve, возвращается метод null.Затем при попытке создания плана активации создается исключение, так как Planner.GetPlan не принимает значения NULL.

Кто-нибудь знает, что здесь не так?

1 Ответ

1 голос
/ 20 октября 2011

Оказалось, что проблема была (как и во многих случаях в SO) в той части, которая не описана в вопросе. По сути, вызов GetType также маршрутизируется через прокси-сервер, о чем я должен был догадаться. По пути это происходит через ClientBase.Invoke переопределение, где метод для вызова ищется в «ClientBase.Channel» (это стандартный тип WCF). Естественно, этот метод НЕ найден на канале, поскольку он реализует только методы интерфейса. Таким образом я получаю ноль. Не проблема Ninject - моя собственная.

...