Does WCF support HTTP Push? It's fairly easy to convert an arbitrary callback into an Rx Observable, here's how I did it (in Coffeescript):
this.createRxCallback = () ->
subj = new Rx.Subject()
subj.callback = (params...) -> subj.OnNext(params)
return subj
Then you can take any function that requires a callback, like this example from Socket.io:
socket = new io.Socket {node_server_url}
socket.connect()
myCoolObservable = createRxCallback()
socket.on 'message', myCoolObservable.callback
myCoolObservable.Subscribe (x) ->
console.log x
Or a simple example:
clickObservable = createRxCallback()
document.addEventListener 'myButton', clickObservable.callback, true
clickObservable.Subscribe (x) ->
console.log "Button was clicked!"