.NET 옵션 패턴을 사용한 DI 서비스 구성
4145 단어 dotnetcsharpdotnet5dotnetcore
우리는 .NET 5에 너무 가까워지고 있어서 제목에 CORE를 추가하지도 않았습니다!
어쨌든, 저는 .NET Co....를 사용하여 다양한 소스에서 귀하의 서비스로 구성을 가져오는 쉬운 방법을 공유하고 싶습니다. Corr... 제 말은, .NET을 사용합니다.
자, 이 예에서는 볼트 서비스가 있고
appsettings.json
에서 구성도 받고 있습니다.먼저 다음과 같이 내 서비스에 대한 구성 개체를 만들 수 있습니다.
public class MyServiceOptions
{
public string MyVaultSecret { get; set; }
public string MyConfigVar { get; set; }
}
문제는 내
Startup.cs
에서 내 서비스가 다음과 같도록 종속성 주입을 통해 전달하는 방법입니다.services.AddScoped<IMyService, MyService>();
해결책은 이와 같이 옵션을 등록하는 것입니다. 자세한 내용은 공식 Microsoft 옵션 문서를 참조하세요. 보시다시피 저는
IVaultService
에 대한 참조를 사용하고 있습니다. 이는 모든 서비스가 될 수 있습니다.services.AddOptions<MyServiceOptions>()
.Configure<IVaultService>((o, v) =>
{
o.MyVaultSecret = v.GetSecret("SecretKey");
o.MyConfigVar = Configuration["ConfigKey"];
});
어쨌든 이제 다음과 같이 구성을 사용할 수 있습니다.
public class MyService : IMyService
{
private readonly IOptions<MyServiceOptions> _options;
public MyService(
IOptions<MyServiceOptions> o
)
{
_options = o.Value;
Console.WriteLine(_options.MyVaultSecret);
Console.WriteLine(_options.MyConfigVar);
}
}
해피코딩,
세자르 코드
Reference
이 문제에 관하여(.NET 옵션 패턴을 사용한 DI 서비스 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cesarcodes/di-service-configuration-with-net-options-pattern-1i72텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)