What I'm looking for is a pattern for the client triggering a server process, then the server process signalling the client when its finished.
preferably with examples available in .NET or dotnetcore
My application is accessed through a REST api. I have a full-featured windows client (WPF) and a smaller web client.
Sometimes a server process is requested that takes too long for C# await HttpClient.GetAsync(REST Url) - the server process continues, but the client times out and throws an exception.
So my temporary fix is to catch the exception, and inform the client "process taking longer than expected, results may be available if you refresh in a few minutes" - but this is far from satisfactory.
I dont want to go so far as creating a microservice with messaging and queues
And I'd rather not have client polling the server to check for updates.
Ideally the solution could then be used to refresh the client with percentage complete or expected time left data