서비스 컨테이너 와 이벤트 시스템

혹시, 아시는 분 답글 주시면 감사하겠습니다.

event handling - Dependency life cycles are weird in Blazor WebAssembly Standalone app - Stack Overflow

2 Likes

WASM의 Scoped 서비스의 생명주기는 별도로 지정을 하지 않으면 싱글톤과 동일하지만,
그 의미가 Singleton 서비스에서 Scoped 서비스를 컨슘할 수 있다는 의미는 아닙니다.

3 Likes

답변 감사합니다. 참조할 만한 문서가 있을까요?

참고로, 수명 주기는 아래와 같이 설정했습니다.

AuthenticationStateProvider(Scoped) —> EventBroker : 이벤트 구독.

( HttpClient(Singleton) —> ) DelegatingHandler(Transient) —> EventBroker: 메서드 호출(이벤트 발행)

이 상황에서 EventBroker 가 Singleton 일 때만, 이벤트 시스템이 정상 동작하고, Scoped 일 때는 정상 동작하지 않습니다.

또한, DelegatingHandler 와 AuthenticationStateProvider 에 주입된 EventBroker 객체의 Id 값이 같아, 동일한 객체로 간주했습니다.

1 Like