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

보기: 2964|회답: 0

[출처] ASP.NET 코어(25개) 의존성이 Lazy lazy lazy 초기화를 주입합니다

[링크 복사]
게시됨 2023. 10. 10. 오후 9:14:31 | | | |
요구사항: Core ASP.NET 서비스를 추가하고, 구성자를 통해 서비스를 주입하며, 구현 클래스를 초기화하는 데일을 지연시키고(HTTP 컨텍스트 요청 정보에 따른 다른 논리 처리),<T> 그리고 lazy 초기화를 위해 lazy 대신 lazy 사용하는 것을 고려하세요.

복습:

C#의 Lazy 사용자가 스레드를 안전하게 지키는 방법
https://www.itsvse.com/thread-10621-1-1.html

C# 성능 최적화: Lazy는 지연을 적용해 lazy 초기화 <T>
https://www.itsvse.com/thread-7700-1-1.html
인터페이스에 직접 인젝트하세요

생성자는 인터페이스 서비스에 직접 주입되며, 코드는 다음과 같습니다:

실행 순서는 다음과 같습니다:



실행 순서는 다음과 같습니다: IA 구현 클래스 -> HomeController 콘솔 -> 인덱스 메서드

레이지 딜레이로 초기화

컨트롤러 생성자가 IA를 레이지로 변경<IA>하면 오류는 다음과 같습니다:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
오류는 저희가 게으름 관련 서비스에 등록하지 않았기 때문이며, <>게으른 일반 서비스를 등록해야 합니다. 코드는 다음과 같습니다:

서비스 추가:

실행 순서는 다음과 같습니다:



실행 순서를 볼 수 있습니다: HomeController console -> 인덱스 메서드 -> IA 구현 클래스, 확인할 수 있습니다IA 인터페이스 지연 초기화호출 시 IA 구현 객체를 인스턴스화합니다.

(끝)





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

Mail To:help@itsvse.com