Ninject WCF 扩展在 MVC3 Ninject 网站中不起作用

发布于 2024-12-24 16:44:59 字数 501 浏览 1 评论 0原文

我们需要向我们的网站添加一项服务,我添加了 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福%小乖 2024-12-31 16:44:59

我建议使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文