2017-10-31 9 views
0

SignalR이 런타임에 허브를 생성하는 방법, 허브에 생성 할 클래스를 아는 방법, 시작될 때 시작시 또는 처음에 또는 각각에 대해 알고 있어야합니다. 의뢰.SignlaR이 런타임에 허브를 생성하는 방법

SignalR이 다른 유형의 전송을 사용한다는 것을 알고 있습니다. 각 전송 유형에 대한 특정 허브 프록시도 있습니까?

답변

0

클라이언트는 각 허브에 대한 프록시를 만듭니다. 이러한 프록시를 사용하여 허브 메소드를 호출합니다. 이러한 프록시는 서버로 보내지는 메시지가 생성 할 허브의 이름을 포함하는지 확인합니다 (SignalR 프로토콜 here의 설명을 찾을 수 있음). 서버 parses 메시지를 수신하고 012 컨테이너 ID에서 IHubActivator 인스턴스 registered을 사용하여 허브 이름과 creates 허브 인스턴스를 추출합니다.

허브 인스턴스는 일시적이며 각 요청에 대해 생성 된 다음 허브 메소드 호출이 완료되면 삭제됩니다.

전송은 허브/프록시에서 독립적입니다. 실제로 데이터가 무엇인지에 관계없이 데이터를 이동하는 수단입니다.

+0

네,하지만 서버가 js 파일을 생성 할 때 어떻게합니까? –

+0

'/ hubs'로 끝나는 GET 요청이있는 경우 서버는 [https://github.com/SignalR/SignalR/blob/7dc8921376743b73856cb1f7bb9ca1db8de1abe2/src/Microsoft.AspNet.SignalR.Core/Hubs/HubDispatcher]를 생성합니다. cs # L280) [this]와 같은 프록시 (https://github.com/SignalR/SignalR/blob/1fba14fa3437e24c204dfaf8a18db3fce8acad3c/src/Microsoft.AspNet.SignalR.Core/Hubs/DefaultJavaScriptProxyGenerator.cs) – Pawel

+0

이 문제를 해결해 주셔서 감사합니다. –