일부 MVC 뷰 페이지는 서버에서 일부 리소스를 가져온 후 30 초마다 새로 고쳐집니다. 나는 setTimeOut을 사용하여 비동기 적으로 서버에서 데이터를 가져오고 이전 데이터와 비교하고 변경된 경우 div 태그를 업데이트하는 javascript 메서드를 트리거했습니다. 이제 global.asax 클래스에서 타이머를 생성하고 application_start 이벤트에서 시작한 다음 타이머 경과 이벤트에서 데이터를 가져와 데이터가 변경된 경우에만 SignalR을 사용하여 모든 클라이언트에 보냅니다.SignalR 대 setTimeout
여기서 setTimeOut에 비해 SignalR을 사용하면 어떤 이점이 있습니까?
감사합니다. Damian! 나는 데이터에 대한 적절한 핸들을 가지고 있지 않다. 다른 서버에있다. 그리고 가져온다면 내가 변경된 것인지 아닌지를 알게 될 것이다. 단지 타이머와 함께 가기로 결정했다. – Gokulnath
차가움. 다른 서버에 있더라도 데이터가 변경 될 때 다른 서버가 보낼 수있는 웹 서비스 끝점을 앱에 설정할 수 있으며 웹 서비스 코드에서 모든 클라이언트에 브로드 캐스트를 수행 할 수 있습니다. 그러나 타이머가 맞는다면 괜찮습니다 :) System.Threading.Timer를 사용해야합니다. –
데이터를 비교 한 후, Hub.GetClients() .javascriptMethod (msg)를 사용하여 브로드 캐스트합니다. 어쨌든 연결된 클라이언트가 있는지 찾을 수 있습니까? 클라이언트가 없으면 다른 서버에서 데이터를 가져 오는 것을 피할 수 있습니까? 표시되는 경우 setTimeout의 경우 사용자가 setTimeout이있는 페이지에있는 경우에만 데이터가 반입됩니다. –
Gokulnath