Google, SignalR 위키 및 SignalR 코드 자체 (예 : Broadcast 기능, Signaler 등)를 검색 한 결과 아무 것도 발견되지 않았습니다.SignalR : PersistentConnection에 대한 클라이언트 목록을 얻으십시오.
ClientIDFactory를 작성하고 ClientID를 UserID로 설정하십시오. 작동하지만 이제 사용자가 둘 이상의 브라우저/탭에서 연결할 수 없습니다.
기능을 수정하고 임의의 문자열을 UserID에 추가했습니다. 그것은 작동합니다.
이제 특정 사용자 ID로 특정 메시지를 보내려면 사용자에 대한 모든 연결을 가져 오는 방법을 찾아야합니다.
나는 클라이언트 목록 주위를 돌아 다니며 string.split()에 의해 UserID를 찾는다. 그러나 다른 방법이 유용 할 수있다.
허브를 사용하고 있지 않습니다. PersistentConnection 만.
덕분에,
왜 클라이언트 목록이 필요합니까? 새로운 연결이 만들어지면 허브에있는 목록을 추적 할 수 없습니까? – davidfowl
허브를 사용하고 있지 않습니다. OnConnectedAsync/OnConnected를 사용할 수없고 IIS AppPool Recycle (예 : 코드 변경)에서 사용자가 이전 세션의 쿠키로 "연결"되어이 이벤트가 발생하지 않기 때문에 자신을 추적 할 수 있습니다. (그리고 고마워요) –
어느 쪽이든, 당신은 자신을 추적해야합니다. 클라이언트는 다른 컴퓨터에있을 수 있으며 여전히 알림을받습니다. 실제로는 기본 메시지 저장소 및 신호 버스에 대한 구현 세부 사항입니다. – davidfowl