Unit-based Azure infrastructure against per-message SaaS, and what SignalR’s proxy model means for your servers.
Azure SignalR Service scales out ASP.NET Core SignalR by proxying its connections, priced per unit per day. It is the natural choice inside an all-Azure .NET estate. Outside that estate, the differences in pricing shape, delivery semantics, and who runs the servers get large.
When Foony fits
No app servers to keep alive. In SignalR’s default mode, clients cannot connect unless your hub servers are up. Foony is the whole serving path.
History and recovery built in. Azure SignalR persists nothing and replays nothing, offline clients just miss messages. Foony stores channels by rule and backfills gaps.
Pricing that follows usage instead of capacity steps. SignalR bills $1.61 per unit per day where each unit is 1,000 connections, so 1,050 connections costs two units. Foony bills messages, connections are a plan ceiling, not a meter.
Message counting without the 2 KB fine print. SignalR bills every 2 KB of an outbound message as a separate message. A 4 KB broadcast to three clients bills as six messages plus one to the server.
Beyond .NET: first-class JavaScript and Go SDKs, a REST API, and Pusher protocol compatibility. SignalR clients officially cover .NET, JavaScript, Java, and Swift.
Built-in presence. SignalR leaves who-is-online to your own connection bookkeeping.
When Azure SignalR Service fits
You have an ASP.NET Core SignalR app today. The service is a drop-in scale-out with zero code change, and hubs give you typed RPC, not just pub/sub.
Your platform team standardizes on Azure: Entra ID auth, private endpoints, Functions bindings, and Premium geo-replication with automatic failover.
Steady, predictable load that fits unit granularity makes the flat daily rate easy to budget.
Features
Foony
Azure SignalR Service
Serving model
The service serves clients directly
Proxy in front of your hub servers, which must stay connected (default mode)
History
Per-prefix channel rules, up to 30 days
None, the service stores no customer data
Delivery
Effectively exactly once (idempotent publish, client dedup)
At most once, reliable messaging is your application’s job
Presence
Built in, with automatic re-entry on reconnect
DIY from connection events
SDKs
JavaScript/TypeScript, Go, REST, plus any Pusher client
.NET, JavaScript, Java, Swift clients, .NET-first server
Limits and pricing
Foony
Azure SignalR Service
Pricing model
Per message, in and out
$1.61/unit/day (1,000 connections, 1M msgs/day included), $1 per extra million