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

보기: 26892|회답: 0

[.NET 코어] ASP.NET Core는 Autofac을 사용해 IOC 주입을 구현합니다

[링크 복사]
게시됨 2019. 5. 7. 오후 4:32:23 | | | |
ASP.NET 코어 의존성 주입은 포함된 IOC 컨테이너를 사용합니다
https://www.itsvse.com/thread-7562-1-1.html
(출처: Architect_Programmer)

ASP.NET Core는 Autofac을 사용해 IOC 주입을 구현합니다
https://www.itsvse.com/thread-7563-1-1.html
(출처: Architect_Programmer)

ASP.NET Core는 Autofac을 사용해 AOP 감각을 구현합니다
https://www.itsvse.com/thread-7566-1-1.html
(출처: Architect_Programmer)

ASP.NET Core에 포함된 IOC 컨테이너는 경량이며, 기능이 많지 않고 기본 기능만 있습니다.

이 글에서는 Autofac을 사용하여 구성자와 속성 주입을 모두 설명할 것입니다.

Autofac은 Microsoft .NET 4.5, Silverlight 5, Windows Store 앱, Windows Phone 8 앱을 위한 훌륭한 IoC 컨테이너입니다. 클래스 간 의존성을 관리할 수 있어, 규모와 복잡성이 증가함에 따라 애플리케이션을 쉽게 수정할 수 있습니다. .

.NET Core 프로젝트의 버전은 2.1.301입니다.

Autofac.Extensions.DependencyInjection 설치

다음 명령어로 nuget으로 설치하세요:



우리는 다음과 같이 3개의 인터페이스와 3개의 구현 클래스를 가볍게 작성했습니다:



컨트롤러 생성기 주입

먼저, Startup에서 ConfigureServices 코드를 다음과 같이 수정해 보겠습니다:

참고: ConfigureServices의 반환 값이 IServiceProvider로 변경되었습니다.

컨트롤러 코드:

아래 설명대로 프로젝트를 실행하세요:



컨트롤러 Autofac 속성 주입

Startup에서 ConfigureServices 메서드를 다음과 같이 수정하세요:

컨트롤러 코드:

아래 설명대로 프로젝트를 실행하세요:



주요 주의사항:

  • 서비스. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • 공공ITestService1 _testService1 { get; 세트; }


서비스 인터페이스를 처음에 비공개로 설정했기 때문에 인젝션은 항상 null입니다.

리소스:하이퍼링크 로그인이 보입니다.




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

Mail To:help@itsvse.com