【问题标题】:How to use Ninject2 with WCF?如何将 Ninject2 与 WCF 一起使用?
【发布时间】:2010-09-30 15:30:18
【问题描述】:
简要介绍 IoC 和 DI .NET 库,我选择使用 Ninject2。
根据DDD风格:
- 基础架构:我有 Entity Framework 4.0 .edmx 模型和存储库实现
- 域层:我有 POCO 对象和存储库接口(在基础架构中实现)
- 应用程序服务:我有 WCF 服务,它们从域层调用存储库接口中定义的方法。
我的问题是如何使用 Ninject2 在 WCF 中注入存储库。我已经阅读了一些有关 Ninject2 的文章,但给出了非常简单的示例(例如:同一个类库中的依赖注入)。
任何指示都是有用的:)。
非常感谢!
【问题讨论】:
标签:
wcf
dependency-injection
ioc-container
ninject-2
【解决方案1】:
如果你下载了 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找到。