对于WCF服务,Unity依赖注入中的web.config应该如何?

时间:2010-09-21 23:49:44

标签: wcf dependency-injection unity-container

我正在创建新的instnace提供程序,它通过Unity解析服务。 我不知道如何在web.config中添加配置。 以下是我的服务类。

公共类服务:IService {

private IUnitOfWork _unitOfWork; 

private IMyRepository _myRepository; 

// Dependency Injection enabled constructors 

public Service(IUnitOfWork uow, IMyRepository myRepository) 
{ 
    _unitOfWork = uow; 
    _myRepository = myRepository; 
} 

public bool DoWork()
{
        return true;
}

}

1 个答案:

答案 0 :(得分:3)

你应该only use web.config if you need to be able to vary the services after compilation。这不应被视为默认情况。

这意味着在大多数情况下,最好采用代码配置,如下所示:

container.RegisterType<Service>();
container.RegisterType<IUnitOfWork, MyUnitOfWork>();
container.RegisterType<IMyRepository, MyRepository>();

如果必须使用XML配置,则可以执行类似的操作。 Unity's excellent documentation explains the details

它可能会是这样的:

<container>
  <register type="Service" />
  <register type="IUnitOfWork" mapTo="MyUnitOfWork" />
  <register type="IMyRepository" mapTo="MyRepository" />
</container>