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

보기: 413|회답: 0

[팁] .NET/C# 의존성 주입 서비스 등록 스크루터 도구

[링크 복사]
2025-9-4 09:37:00에 게시됨 | | |
요구사항: 프로젝트가 비교적 크고 작성 문법이 매우 표준화되어 있을 때, 인터페이스를 추가할 때 IServiceCollection 컨테이너에 수동으로 추가하여 인터페이스를 생성자에 주입해야 합니다. 스크리터 도구는 규칙 구성에 따라 자동으로 추가할 수 있어 매우 편리합니다.

스크루터

어셈블리 스캔 및 데코레이션 확장 기능을 위한 Microsoft.Extensions.DependencyInjection.

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

복습

서비스 등록을 되돌아보면, 싱글톤 주입의 세 가지 방법은 다음과 같습니다:

서비스 등록

예를 들어 다음과 같은 코드 구조가 있다고 가정해 봅시다:

인터페이스 정의
public interface IUserService { }
public interface IOrderService { }

구현 클래스
public class UserService : IUserService { }
public class OrderService : IOrderService { }

전에

등록은 하나씩 필요하며, 코드는 다음과 같습니다:

또는 자신만의 메서드를 작성해서 반사를 통해 등록할 수도 있습니다 (사실 스크루터는 반성을 통해 이루어진다), 다음과 같습니다:

나중

Scrutor는 어셈블리 스캔을 등록하는 데 매우 편리하게 해주며, 특히 여러 서비스 클래스(예: IUserService로 등록된 UserService)를 자동으로 등록할 수 있습니다. 패키지 의존성은 다음과 같습니다:

코드는 다음과 같습니다:

해석:
  • . FromAssemblyOf<UserService>(): 스캔할 어셈블리를 지정합니다.
  • . AddClasses(): 어셈블리 집합 내 모든 클래스를 스캔합니다.
  • . AsImplementedInterfaces(): 이 클래스들이 구현될 때 자동으로 인터페이스를 등록합니다.
  • . WithScopedLifetime(): Lifetime을 Scoped로 설정하며, WithTransient Lifetime() 또는 WithSingleton Lifetime()일 수도 있습니다.

(끝)




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

Mail To:help@itsvse.com