signalR and large data transfer [closed]

岁酱吖の 提交于 2019-12-10 20:46:57

问题


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 ?


回答1:


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.




回答2:


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.




回答3:


Split the data and send it. you can send background mode or normally, Use Compression techniques, so that you can reduce the data size.



来源:https://stackoverflow.com/questions/13426014/signalr-and-large-data-transfer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!