애플리케이션을 개발하고 서버 측 기술은 asp.net 웹 API이며 클라이언트 측은 javascript입니다. 내 응용 프로그램에서는 Signalr을 사용하여 클라이언트에 업데이트를 알립니다. 즉, 서버에서 클라이언트로 알림을 푸시합니다.신호를 웹 API와 통합하여 클라이언트에 알립니다.
모든 신호 상호 작용은 HTTP 요청에서 발생하는 푸시 (push)와 클라이언트가 signalr을 통해 서버로 푸시하는 것이 아니기 때문에 Hub 클래스 외부에서 발생합니다.
성공적인 HTTP 요청을 처리 한 후 요청을 보낸 사람 옆에있는 모든 클라이언트가 요청하도록합니다.
누가 이러한 알림을 담당해야합니까? 법적 요청을 처리 한 후 내 서버가 클라이언트에 알림을 전송해야합니까? (이것은 내가 지금하는 일입니다.) 이것이 방법 일 경우 요청을 한 사람 외에 모든 고객에게 어떻게 알릴 수 있습니까? Reminder - 요청이 Http이고 signalr push가 아니기 때문에 클라이언트 측에 대한 푸시는 허브 외부의 클래스에서 발생합니다. 따라서 컨텍스트 또는 Client.Others 속성을 사용하면 좋습니다. 어떤 클라이언트에게 통지해야하는지 어떻게 알 수 있습니까? 그 순간 나는 단지 클라이언트 만 사용합니다. 요청을 한 사람은 누구나 내가 좋아하지 않는 것도 알립니다.
옵션 2는 내 서버가 성공 상태 코드로 응답 한 후입니다. 요청을 한 클라이언트는 다른 클라이언트에게 알릴 책임이 있습니다. 즉, 메시지를 서버에 보내고 서버가 모든 다른 클라이언트에게이 알림을 푸싱합니다 (이번에는 신호 허브 내에있게 될 것입니다. 고객).
어떤 방법을 사용해야합니까?
이 옵션을 선택하면, 나는 또 다른 매개 변수를 사용하기 위해 내 모든 요청을 변경해야합니다 - 고객 ID?그렇게 할 수있는 더 좋은 방법이 있습니까? 모든 작업 및 테스트 된 API를 변경하고 싶지 않을 것입니다. –
내 업데이트를 확인하십시오. –
당신의 코드가 제 2의 옵션을 설명한다고 생각합니다 - 요청이 성공한 후에 클라이언트 쪽에서 밀어 넣기를 할 수 있습니까? –