Cloudflare Workers .NET / overview
worker check deferred

What is running

The C# worker in src/HelloWorker is compiled to WebAssembly (NativeAOT) and executed by workerd through Wrangler — there is no .NET server process. This Blazor WebAssembly app calls that WASM worker over HTTP. Locally, KV, R2 and D1 are simulated by Wrangler, so nothing is uploaded to Cloudflare.

Worker API
http://127.0.0.1:5050 (same origin)
KV namespace
dotnet_test
R2 bucket
dotnettest
Queue
dotnet-queue

Running it locally

  1. dotnet run --project AppHost starts this frontend and Wrangler together.
  2. The worker listens on http://localhost:8787; the frontend reads that URL from wwwroot/appsettings.Development.json.
  3. State lives in .wrangler/state/v3 (KV, R2, queues and the cache), so results survive restarts.
  4. The scheduled sample is registered as an hourly cron; wrangler dev --test-scheduled also exposes /__scheduled so the cron can be triggered on demand from the Scheduled task page.
An unhandled error has occurred. Reload 🗙