I am planning to use signalR between Client and server for some real time communication. How ever every now and then the client need to send large data ~15MB to the server.
1) Looks like signalR is not meant for sending large data. Have they added any support for sending large data in the recent releases ?
2) What is the largest data array I can send in a message ?
3) Is it too slow to split the large data and send it as smaller chunk ?
4) What is the alternate option ? Any example I can look into?
5) Can I run WCF service to stream large data along with signalR for real time communication ?
Sending over SignalR would be using the wrong tool for the job. Best thing to do in this situation is send a specific message over SignalR that passed the URL as a parameter. Then you handle by triggering a standard HTTP GET based download in the client using any number of approaches.
If you really, really need to use SignalR, you can check out my answer at: How to send big data via SignalR in .NET client
You can add a line that makes the message size 'infinite 'in your Startup.cs by setting the MaxIncomingWebSocketMessageSize to null:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
GlobalHost.Configuration.MaxIncomingWebSocketMessageSize = null;
}
}
} Mine works with ~200kb of data, 10 messages send consistently. I don't know how well it works if there is more data send per second though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With