# ClientApiPoC Proof-of-Concept for transferring local data from a client to a public web service without port-forwarding, using SignalR. ## ApiService Web service, serving HTTP-API for Clients (*ApiClient*). It also serves a SignalR server that local clients (*OnPremiseApp*) can connect to. This service can call a function on all connected local clients (*OnPremiseApp*) to receive local data. The local client doesn't have any HTTP-API or what so ever, nor is port-forwarding needed. API clients (*ApiClient*) can receive data from all connected local clients (*OnPremiseApp*) using the standard HTTP-API. ## ApiClient This application only connects to the public HTTP-API (*ApiService*) to receive data from local clients (*OnPremiseApp*) and shows the request result. ## OnPremiseApp This application connects to the *ApiService* via SignalR and transfers local data via the SignalR tunnel when the API service requests this. No Data ist actively sent to the service; the service requests data if needed.