내 SignalR 앱에 2 개의 허브가 있다고 가정 해 보겠습니다. connectionsIds -> userIds를 로컬 캐시 사전에 매핑하고 있습니다.SignalR : 허브의 OnDissconnect 이벤트는 특정 허브에서만 호출 할 수 있습니까?
현재 로직과 같이입니다 :와
OnConnected -> (존재하지 않는 경우) 사전에 새로운 "connectionId는 사용자 ID하기"항목을 추가합니다. OnDisconnected와
-> 제거 그 (있는 경우)
HUB2가 연결된 상태를 유지합니다 동안 Hub1이 해제됩니다 어떤 시나리오가 있습니까 사전에서 항목을 "connectionId는 사용자 ID합니다"?
그렇다면 Hub2가 여전히 연결되어 있어도 사전에서 항목을 제거하므로 현재 논리에 결함이 있습니다. 각 허브에 대해 2 개의 사전을 처리해야합니다.
P. 나는 연결 매핑을 처리하기 위해 SignalR 문서를 살펴 봤으며 항상 허브 당 하나의 사전을 사용하고있는 것으로 보인다. 그래서 정말 필요한지 알고 싶습니다.
안녕 피르. 단일 제안을 사용하여이 매핑을 유지할 수 있습니다. 구현하기 쉽고 사전을 유지 관리해야 할 필요가 없습니다. 확인 [이] (http://stackoverflow.com/questions/37455608/handling-concurrent-connections-in-siganlr/37458129#37458129) –
매우 우아한 솔루션! 나는 그 길로 갈 것 같아. 덕분에 – Ofir