WitRPC brings interface driven RPC to modern .NET: define a C interface, implement it on the server, call it through a proxy on the client, with events flowing back in real time. Recent releases added...
Four RPC technologies for .NET, evaluated on developer experience, transport and serialization flexibility, service discovery, Blazor WebAssembly support, and measured performance in local IPC and rem...
Events are where WitRPC's full duplex model earns its keep. This post builds a live dashboard end to end: three service interfaces on one composite server, a client that subscribes and renders updates...
A working service is halfway; production needs lifecycle management, configuration, containers, logs, health endpoints, and metrics. This post covers each for WitRPC services, ending with a checklist ...
Two independent axes protect a WitRPC channel: encryption for data in transit and token authorization for access control. This post walks both, from one line setup to custom validators JWT, API keys, ...
Connections drop and servers restart; the question is what your client does next. This post covers WitRPC's two resilience mechanisms and how they compose, why idempotency decides where retries are sa...
Five transports times four serializers is twenty combinations. This post narrows them down with measured data: complete local IPC grids per transport, remote medians over a real intercontinental link,...
WitRPC configured the way the rest of an ASP.NET Core application is configured: registrations in the container, lifecycles tied to the host, remote proxies injected into controllers, settings bound f...
One server, many focused interfaces, one client connection. This post builds a complete composite setup step by step, wires it into ASP.NET Core DI, and walks through the architecture patterns it enab...
A look inside the framework: how a method call on an interface becomes a network request, how server events reach client handlers, what the transport abstraction really looks like in the source, and h...
Two migration paths, one destination: WCF teams keep the interface contract model and shed the XML and IIS baggage; SignalR teams trade string based hub calls for compile time checked interfaces. Side...
gRPC defines contracts in Protocol Buffers and spans languages; WitRPC defines them in C and stays native to .NET. This post compares the two where it matters: developer workflow, real time patterns, ...
Beyond the feature list: how interface driven RPC removes the hidden costs of REST, SignalR, and gRPC in .NET to .NET systems, with concrete scenarios and benchmark data for local IPC and remote commu...
A complete walkthrough of building your first WitRPC application: a shared contract library, a server that hosts a task processing service, and a client that calls it and receives progress events in r...
WitRPC is inspired by WCF in terms of developer experience and capabilities. One of the key technologies that WCF offered "out of the box" was Discovery. With Discovery, a server could announce its pr...
Blazor WebAssembly is a powerful tool for creating web frontends and beyond when integrated with frameworks such as MAUI, WinUI, or WPF. By pairing Blazor WebAssembly with UI frameworks like MudBlazor...
A WitRPC client reaches a remote service through a proxy, and that proxy can be emitted at runtime by Castle DynamicProxy or written at compile time by a Roslyn source generator. This post covers both...
Working on engineering systems that often involve legacy components, I frequently face challenges in integrating outdated elements with modern platforms. For example, you may encounter scenarios requi...