Ninject WCF 扩展在 MVC3 Ninject 网站中不起作用
我们需要向我们的网站添加一项服务,我添加了 MVC 扩展并添加
Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"
到标记,我还添加
KernelContainer.Kernel = kernel;
到 CreateKernel 方法以摆脱 root null 问题,但现在我得到了
所提供的服务类型无法作为服务加载,因为它 没有默认(无参数)构造函数。要修复 问题,向类型添加默认构造函数,或传递一个实例 主机的类型。
构造函数中的类型绑定在内核中
感谢
编辑:这有效
kernel.Bind<ServiceHost>().To<NinjectServiceHost>();
We need to add a service to our website, I've added the MVC extension and added
Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"
To the markup, i've also added
KernelContainer.Kernel = kernel;
To the CreateKernel method to get rid of the root null problem, but now I get
The service type provided could not be loaded as a service because it
does not have a default (parameter-less) constructor. To fix the
problem, add a default constructor to the type, or pass an instance of
the type to the host.
The type in the constructor is binded in the kernel
Thanks
edit: This works
kernel.Bind<ServiceHost>().To<NinjectServiceHost>();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议使用 Nuget 提供的 Ninject 3.0.0-rc2。新的 WCF 和 MVC 扩展允许同时运行。
I recommend using Ninject 3.0.0-rc2 available from Nuget. The new WCF and MVC extensions allow to run side a side.