이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 20328|회답: 0

[WebAPI] MVC5와 webAPI에서는 Autofac 의존성 주입이 사용됩니다

[링크 복사]
게시됨 2017. 11. 29. 오후 2:35:33 | | | |
많은 책들이 의존성 주입(dependency injection)과 제어 역전(control inversion)과 같은 개념을 언급하는데, 이들은 모두 느슨하게 결합된 계층, 구성 요소, 클래스 목적을 달성하는 데 목적이 있습니다.

Repository 클래스를 사용하여 컨트롤러와 모델 간의 직접 연결을 분리하는 것이 일반적입니다. 저장소 클래스와 컨트롤러 간의 밀접한 연결을 끊기 위해, 보통 저장소 클래스가 직접 정의하고 인스턴스화하지 않고, 컨트롤러의 구성 메서드를 통해 지정된 저장소에 주입합니다.



인기 있는 IoC 컨테이너로는 Ninject, Autofac, Unity가 있습니다.

다음은 Autofac 인젝션 MVC5와 Webapi2 사용 방법에 대한 간단한 설명입니다.

1. nupkg을 사용하여 Autofac, Autofac.Mvc5, Autofac.Webapi2를 참조합니다.

PM> install-package autofac -version 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (참고: 프로젝트에서 webapi2를 사용 중이라면, 여기서 webapi가 아니라 webapi2여야 하며, 그렇지 않으면 런타임에 "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()"가 나타납니다.) 상속 보안 규정을 위반했습니다. 덮어쓴 메서드의 보안 접근성은 재작성된 메서드의 보안 접근성과 일치해야 합니다. 틀렸다. )



2. 컴포넌트를 등록합니다.

3. 나중에 사용할 용기 만들기.

var container=builder. Build();
4. 컨테이너에서 평생 범위 생성.

5. 이 Lifetime Scope를 사용하여 컴포넌트 인스턴스를 파싱합니다.

구성. DependencyResolver = new AutofacWebApiDependencyResolver(container); API 컨테이너를 등록하려면 HttpConfiguration 객체를 사용해야 합니다
DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); MVC 컨테이너를 등록하세요
6. WebApiConfig 클래스의 Register 메서드에서 위 단계 코드를 호출하고 HttpConfiguration 객체를 전달합니다.



오토팩의 장점은 설정 없이 한 번에 분리할 수 있다는 점입니다; AutoFAC은 MVC에서 "관습이 구성보다 더 중요하다"는 개념을 더 잘 구현합니다.





이전의:asp.net MVC는 WebAPI 컨트롤러를 추가합니다
다음:재충전하는 법.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com