In REST, we use HTTP Status Codes (404, 500). In gRPC, we use `RpcException`. But simply throwing exceptions is not enough for rich error details. The Status Model Google’s API Design Guide recommends returning a rich `Status` object containing a list of `Any` details. This allows the client to deserialize the structured error (e.g., specific […]
Read more โVisual Studio 2022 64-bit: First Impressions
Visual Studio has been a 32-bit process (`devenv.exe`) for 20 years. This meant it was capped at 4GB of RAM, regardless of your machine specs. VS 2022 is finally 64-bit. Why it matters I opened a massive solution with 1,600 projects (Orchard Core). In VS 2019, it would crash with OOM (Out Of Memory). In […]
Read more โDapr v1.0: Building Microservices for Any Cloud
Dapr (Distributed Application Runtime) hit v1.0 recently. Having deployed it in production on Kubernetes, I can say it lives up to the hype. It separates the Application Logic from the Infrastructure Plumbing via the sidecar pattern. The Sidecar Architecture Your code looks like this: You don’t reference Redis SDK. You don’t reference Cosmos DB SDK. […]
Read more โDependency Injection in .NET: Service Lifetimes
Choosing the right lifetime for your services is critical for app correctness and memory usage. Transient Created every time it is requested. Lightweight, stateless services. Scoped Created once per HTTP request. Ideal for DB contexts, user session data. Don’t inject Scoped into Singleton! Singleton Created once per application lifetime. Examples: Caching services, configuration. MUST be […]
Read more โAzure Static Web Apps: Now Generally Available
Azure Static Web Apps (SWA) has hit GA. It’s the best way to host Blazor WASM, React, or Vue apps on Azure. Features Global Hosting: Content serves from edge locations. Integrated API: Deploy Azure Functions alongside your frontend in the same repo. Auth: Built-in auth for Azure AD, GitHub, etc. Staging Environments: Every Pull Request […]
Read more โAzure SQL Hyperscale: 100TB Databases
Standard Azure SQL tiers hit a wall at 4TB. Hyperscale changes the architecture fundamentally. Architecture Hyperscale decouples Compute from Storage using a caching tier (RBPEX). This allows it to scale to 100 TB. More importantly, backups are near-instantaneous (file snapshots) regardless of size. If you have a 20TB database, restoring it takes minutes, not days.
Read more โ