我对 Ninject 3.0 和拦截 WCF 方法有疑问。
我正在使用任务服务
<%@ ServiceHost Language="C#" Debug="true" Service="Fasade.TaskService" Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"%>
我的配置是:
var settings = new NinjectSettings {LoadExtensions = false};
IKernel kernel = new StandardKernel(
new NinjectSettings {LoadExtensions = false},
new WcfModule(),
new DynamicProxyModule()
);
kernel.Bind<ITaskService>().To<TaskService>().InRequestScope().Intercept().With(new ServiceInterceptor());
ServiceInterceptor 实现 IInterceptor,
当我将 UnitTest 用于内核时,ninject 将 DynamicProxy 对象用于 ITaskService 实现操作,但它在 WCF 中不起作用。
我不知道为什么 NinjectServiceHostFactory 不使用 DynamicProxy 和 Interception 来返回 ITaskService 的实现。