Topic
Azure & Architecture
Identity, deployment, events, recovery and the boundaries that decide how a cloud system behaves.

Executable Deployment Recipes: Prove the Result, Own the Cleanup
A recipe that starts is not a recipe that works. Separate ready from accepted, own every process with a job object, keep cleanup errors, and date the last accepted run.

ASP.NET Core Behind a Proxy: The Redirect Loop and the Lost Prefix
Why an app behind a TLS-terminating proxy redirects HTTPS to itself or links to the wrong path, and how to restore scheme, client IP and prefix without trusting forged headers.

Azure Service Bus and agents: persist the event, then claim the work
Commit the inbox before completing the message, deduplicate events and work separately, and recheck version and permission when a worker claims the job, so redelivery never runs an agent twice.

After the Restart: Reconcile a Lost Acknowledgement in a .NET Agent
The receiver committed, the response was lost and the agent restarted. Persist the obligation, bind a receipt to the effect, reconcile by key and know when to stop replaying.

A Timeout Is Not Cancellation: WaitAsync, WhenAny and Lost Commits
Why Task.WaitAsync and Task.WhenAny end your wait but not the work, and how an owner, a shared deadline and a stored receipt keep a timed-out reservation from happening twice.

Azure Blob Downloads in .NET: Buffers, Ranges and Safe Publication
Copy arrays, transfer sizes and OpenRead buffers are three different knobs. Real SDK calls show what each one sends, what 12.30 buffers in memory, and how to publish only verified bytes.

One Million Events and Three Ways a Consumer Quietly Breaks
Duplicates after a lost acknowledgement, events skipped by a high-water checkpoint, and old events reapplied after retention: why totals miss them and how one transaction prevents them.