如何在WCF中使用Ninject2?

时间:2010-09-30 15:30:19

标签: wcf dependency-injection ioc-container ninject-2

在IoC和DI .NET库的简短视图中,我选择使用Ninject2。 根据DDD风格:

  • 基础设施:我有Entity Framework 4.0 .edmx模型和Repository实现
  • 域层:我有POCO对象和存储库接口(在基础架构中实现)
  • 应用程序服务:我有WCF服务,它调用来自域层的存储库接口中定义的方法。

我的问题是如何使用Ninject2在WCF中注入存储库。我已经阅读了一些使用Ninject2的文章,但是提供了非常简单的示例(例如:在同一个类库中的依赖注入)。 任何迹象都有用:)。

非常感谢!

1 个答案:

答案 0 :(得分:6)

如果您下载Ninject 2 WCF extensions,您应该能够很好地完成此任务。

主要区别在于您的svc文件有一个Factory条目:

<%@ ServiceHost Language="C#" Debug="true" Service="WcfService.YourService" CodeBehind="YourService.svc.cs" Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory" %>

并且您的global.asax.cs文件继承自NinjectWcfApplication:

namespace WcfService
{
    public class Global : NinjectWcfApplication

可以找到其余的代码和服务示例here

相关问题