Why not both?
You can use WebAPI to provide bulk data, and SignalR as an extra thing to provide data updates. Thus, you would provide both functionality, the first REST, to allow third-party consumers, and also offer push technology, such as SignalR, or WebSockets directly, to allow subscribers to subscribe to changes in specific data sets.
Please keep in mind that SignalR is not only WebSockets, if so, you need to use Windows 8 or Windows 2012 as a server to use them. Otherwise, it will return to another transport, which may not work as well as you think. In addition, as Daniel noted, SignalR's scalability ... is visible or limited, and even their own documents indicate that you should not use it for real-time scenarios or very segmented data. SignalR is intended for general broadcasting only, I prefer to switch directly to WebSockets using the native Windows API if you are in Windows 8/2012 or a third-party component.
If the client is always the initiator of the action, and the frequency of requests is irregular or low, then, probably, the REST request / response approach simplifies a lot. Otherwise, the client makes requests very often and / or at a constant speed, then go to WebSocket, but you will need to work a little more.
source share