signalR and large data transfer [closed]
signalR and large data transfer [closed]
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 ?
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
3 Answers
3
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.
Split the data and send it. you can send background mode or normally,
Use Compression techniques, so that you can reduce the data size.
Possible duplicate of How to send big data via SignalR in .NET client
– Joshua
Aug 25 at 14:20