Tutorials SignalR & Real-Time .NET Applications
Handling Large Payload strategies
On this page
The Chunking Strategy
SignalR has a maximum message size (default 32KB). Sending a 10MB message will cause the connection to drop. You need a strategy for large data.
1. Increasing the Limit (Risky)
You *can* increase the MaximumReceiveMessageSize in your options, but this is a security risk (DoS attack surface). A large message will occupy the server's input buffer for a long time, potentially timing out other users on the same connection thread.
2. The 'Notify and Jump' Pattern
Instead of sending 5MB of data over the Hub, push a small 'Notification' to the client: "NewDataAvailable": "https://api.myapp.com/data/uid-123". The client then uses a standard HTTP GET to fetch the large file. This keeps SignalR fast for what it's best at: **Ochestration and Notifications**.
3. Architect Insight
Q: "Why does the client disconnect on large messages?"
Architect Answer: "It's a defensive measure. SignalR is designed for 'Chatty' low-latency communication. If a message is too big, the server assumes it's either an error or an attack and closes the circuit to protect itself. Always keep your Hub messages under 32KB whenever possible."
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!