Va bene, prima le cose. SignalR non è una tecnologia solo lato server. Vive anche sul cliente. Questo è il suo punto di forza. Estrae il pesante sollevamento di una comunicazione dannatamente vicina a tempo reale tra client e server. Non ero sicuro che fosse chiaro dato il titolo della domanda.
A parte ciò, se sei interessato a come funziona SignalR, allora sì, uno dei suoi approcci è quello di inviare una richiesta occasionale al server per vedere se qualcosa è cambiato. Si chiama ajax lungo polling . Non è la prima strategia di SignalR perché, beh, è un po 'puzza. Pensa a tutte le cose che potrebbero andare storte. Per non parlare del fatto che non è un aggiornamento bidirezionale in tempo reale poiché il server non può avviare una modifica. SignalR preferisce usare Websockets se sono disponibili.
Lo chiamano una strategia di fallback. SignalR prova una tecnologia HTML5 come WebSockets. Se ciò non è disponibile, ricade su uno dei vecchi trucchi Cometa . Abbastanza intelligente, davvero.
SignalR non è sicuramente l'unico gioco in città. Altre opzioni spaziano da progetti interessanti come Meteor (Meteor è molto più della comunicazione client / server in tempo reale, è piuttosto enorme) a più progetti mirati come socket.io . Tenere presente che poiché la comunicazione bidirezionale richiede sia un client che un server, ogni progetto utilizza una tecnologia server diversa. Dal momento che parli di SignalR, ho intenzione di indovinare che stai usando (o stai considerando) una tecnologia Microsoft. In tal caso, hai meno opzioni.
Se quello che stai veramente chiedendo è come implementare una comunicazione client / server bidirezionale su misura, allora inizia con WebSockets (tutorial) . Se hai molti utenti, probabilmente scoprirai che alcuni di loro stanno utilizzando una tecnologia meno recente che non supporta WebSockets (o forse stai usando una tecnologia server obsoleta che non la supporta). In tal caso, dai un'occhiata a Comet (tutorial) . Nel momento in cui ottieni tutto ciò (o immagina il tempo necessario), SignalR potrebbe sembrarti migliore.