반응형
컨테이너가 빌드 된 후 서비스 추가
런타임에 서비스를 등록 할 수 있습니까? 즉,를 ContainerBuilder
빌드하고 Container
생성 (및 ContainerBuilder
폐기) 한 후를 의미 합니까?
예, 다음 Update
방법을 사용하여 할 수 있습니다 ContainerBuilder
.
var newBuilder = new ContainerBuilder();
newBuilder.Register...;
newBuilder.Update(existingContainer);
ContainerBuilder.Update가 더 이상 사용되지 않으므로 새로운 권장 사항은 하위 수명 범위를 사용하는 것입니다.
평생 범위에 등록 추가
Autofac을 사용하면 수명 범위를 만들 때 "즉시"등록을 추가 할 수 있습니다. 이렇게하면 일종의 "스폿 용접"제한 등록 재정의를 수행해야하거나 일반적으로 전체적으로 등록하지 않으려는 범위에 추가 항목이 필요한 경우에 도움이 될 수 있습니다. ContainerBuilder를 가져와 등록을 추가하는 BeginLifetimeScope ()에 람다를 전달하면됩니다.
using(var scope = container.BeginLifetimeScope(
builder =>
{
builder.RegisterType<Override>().As<IService>();
builder.RegisterModule<MyModule>();
}))
{
// The additional registrations will be available
// only in this lifetime scope.
}
참고 URL : https://stackoverflow.com/questions/4998870/adding-services-after-container-has-been-built
반응형
'Development Tip' 카테고리의 다른 글
최적의 bcrypt 작업 요소 (0) | 2020.10.12 |
---|---|
TFS2010에서 MSBUILD를 통해 MSDEPLOY를 실행하려면 어떻게해야합니까? (0) | 2020.10.12 |
GitHub에서 분기 시각화 (0) | 2020.10.12 |
Javascript에서 사운드를 재생하는 크로스 플랫폼, 크로스 브라우저 방법? (0) | 2020.10.12 |
ipython과 bpython의 차이점은 무엇입니까? (0) | 2020.10.12 |