---
title: "SignalR"
description: "2 posts about SignalR, summarised, each linking to the original."
---

# SignalR
> 2 posts about SignalR, summarised, each linking to the original.

## Articles

### [Build a Video Chat App with ASP.NET Core and Angular using Twilio Video](https://yomu.fyi/post/build-a-video-chat-app-with-asp-net-core-and-angular-using-twilio-vide.md)
- Company: [Twilio](https://yomu.fyi/company/twilio.md)
- Author: Donal Toomey
- Published: Sep 3, 2026
- Type: Tutorial

This tutorial builds a small group video chat application with an ASP.NET Core Web API and Angular single-page app using Twilio Programmable Video. The API binds typed Twilio credentials, mints short-lived access tokens locally with the API Secret, reads active rooms through the Twilio REST API, and pushes room-list changes over SignalR instead of browser polling. The Angular client uses the twilio-video library to capture camera and microphone media, connect to rooms, render participants, and provide device selectors. Local development runs the API alongside ng serve, while a Release MSBuild target runs npm ci and npm run build so dotnet publish places the SPA in the API's wwwroot. The resulting local test demonstrates a two-participant call and a live active-room count that updates when someone joins or leaves.


### [SignalR Scalability: Scaling Real-Time SignalR Applications on Heroku](https://yomu.fyi/post/signalr-scalability-scaling-real-time-signalr-applications-on-heroku.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Andrew Fawcett
- Published: May 21, 2025
- Type: Tutorial

Scaling a SignalR application beyond one server requires coordination because each server maintains its own connected-client list. The guide builds a .NET 9.0 chat application, adds the Microsoft.AspNetCore.SignalR.StackExchangeRedis package, and configures Redis as a backplane with a SignalRChat channel prefix and environment-specific connection settings. It deploys the application to Heroku, changes the dyno type to standard-1x, and runs three web dynos; without session affinity, WebSocket startup fails because the connection may be routed to a different dyno. Enabling Heroku’s http-session-affinity feature keeps requests on one dyno, after which both browsers establish stable WebSocket connections and exchange chat messages successfully across the scaled deployment.
