I had to do a one-time POST to an Azure App Service, to trigger some post-release task, which would be performed on that request thread.
The task could take long, but because this was a one-time thing, setting up a mechanism to perform background processing properly, wasn’t worth it.
Everything worked fine on my machine, until it had to run on Azure. The post-release request got aborted after a couple of minutes, while the server kept processing the request.
Increasing the HttpClient.Timeout property didn’t help.
After finding the right keywords to search this problem, it turns out the explanation was hiding in plain sight in the FAQ all along:
Why does my request time out after 230 seconds?
Azure Load Balancer has a default idle timeout setting of four minutes.
This is a hard limit you can’t exceed, I guess Azure does this to protect its environment or at least have a theoretical limit they can build on to know when to scale/trigger ddos protection.
Theme music for this blog post