Signalr 信号器:在同一网站上载/下载文件之前,不发送消息

Signalr 信号器:在同一网站上载/下载文件之前,不发送消息,signalr,signalr-hub,signalr.client,Signalr,Signalr Hub,Signalr.client,我在继续下载或上载文件(WebClient.DownloadFileAsync | UploadFileAsync或通过HttpWebRequest)并同时调用信号器集线器方法时遇到一些问题: 直到文件加载完成,信号器调用才停止。 看起来是这样的:所有的信号员都在排队。所有排队的调用将进一步执行(文件加载后) 我的代码片段: hubProxy.Invoke("TraceDocumentUploadingRequest", callerId, fileName, "File loading sta

我在继续下载或上载文件(WebClient.DownloadFileAsync | UploadFileAsync或通过HttpWebRequest)并同时调用信号器集线器方法时遇到一些问题:

直到文件加载完成,信号器调用才停止。 看起来是这样的:所有的信号员都在排队。所有排队的调用将进一步执行(文件加载后)

我的代码片段:

hubProxy.Invoke("TraceDocumentUploadingRequest", callerId, fileName, "File loading started ", 0);

DownloadFileByKey(fileKey, (progressPercentage, bytesSent) => { hubProxy.Invoke("TraceDocumentUploadingRequest", callerId, fileName, "File loading in progress", progressPercentage); });

hubProxy.Invoke("TraceDocumentUploadingRequest", callerId, fileName, "File loading finished", 100);
文件下载完成后,第二个“TraceDocumentUploadingRequest”集线器方法调用(在文件加载处理程序中)将在集线器上执行

文件加载处理程序在当前线程或其他线程中执行(与DownloadFileByKey方法实现相关)-结果相同


如何避免这种行为并在正确的时间强制调用hub方法?

总结David Foll的评论,该问题是SignalR 1.1.3版中的一个bug,但在以后的版本中已修复。具体版本

您使用的是什么版本的Signal?所有组件都是1.1.3版本。这是我们在Signal的后续版本中修复的。作为一种解决方法,您可以尝试将服务点管理器中的并发连接数增加到100:ServicePointManager.DefaultConnectionLimit=100;David,你是说2.0.0-rc1版本?是的,2.0.0-rc1和即将发布的2.0版本。