在IoC和DI .NET库的简短介绍中,我选择使用Ninject2。
根据DDD样式:

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

  • 我的问题是如何使用Ninject2在WCF中注入(inject)存储库。我已经阅读了一些有关Ninject2的文章,但是给出了非常简单的示例(例如:同一类库中的依赖项注入(inject))。
    任何指示都是有用的:)。

    非常感谢!

    最佳答案

    如果您下载了Ninject 2 WCF extensions,您应该可以很好地做到这一点。

    主要区别在于您的svc文件具有出厂条目:

    <%@ 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中找到。

    09-07 01:04