나는 OWIN/Katana에서 호스팅되는 WebAPI 서비스에 대해 양파 아키텍처를 따르려고합니다.OWIN에서 WebAPI를 사용하여 양파 아키텍처 및 DI를 구현할 수 있습니까?
나는이 같은 솔루션 구조를 가지고 :
- DependencyResolution가 : OWIN 시작 클래스와 IOC의 설치
- WebApi 포함 웹 API 컨트롤러를
- 인프라 : 인터페이스 구현
- 코어 : 인터페이스
DependencyResolution 프로젝트에서 WebApi 프로젝트의 종속성을 주입하고 싶습니다. DependencyResolution에는 WebApi 프로젝트의 출력 폴더로 출력하는 빌드 작업이 있습니다.
I 접근이 Autofac와 DotNetDoodle.Owin.Dependencies NuGet 패키지를 사용, 여기에 설명 된 다음 해요 : 내 시작 클래스에서 RegisterApiControllers에, 전화를 서비스 등록에
http://www.tugberkugurlu.com/archive/owin-dependencies--an-ioc-container-adapter-into-owin-pipeline
그러나하는 것은 () 실패합니다. DepenedencyResolution 어셈블리는 ApiContollers이 들어있는 어셈블리 (WebAPI 어셈블리) 얻을 수 없습니다 때문에 실행 첫 번째가 될 것입니다 : 여기) (Assembly.Load에 유일한 실행 가능한 옵션을 의지
public IContainer RegisterServices()
{
ContainerBuilder builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterType<MyRepo>()
.As<IRepo>()
.InstancePerLifetimeScope();
return builder.Build();
}
이다, 또는 DependencyResolution 프로젝트를 격리 된 상태로 유지하고 WebApi 프로젝트에서 참조하도록 방치하면됩니까?