SignalR消息在Windows Phone应用程序上延迟

本文关键字:应用程序 程序上 延迟 应用 Phone 消息 Windows SignalR | 更新日期: 2023-09-27 18:03:21

我使用SignalR在网站和Windows Phone应用程序(Windows Phone 8.0, silverlight)之间发送消息。

在Windows phone应用程序中,我使用Nuget Microsoft.AspNet.SignalR.Client的SignalR客户端,它似乎可以正常发送消息,但需要几秒钟才能接收它们。

this.connection = new HubConnection("http://myapp.azurewebsites.net/");
this.theHub = connection.CreateHubProxy("myHub");
await connection.Start();
this.theHub.On<String>("message",
            string=>
                {
                    // Here I receive the message very late
                });

在javascript端,消息到达没有延迟。

SignalR消息在Windows Phone应用程序上延迟

我必须使用Long轮询传输,因为默认传输延迟了消息。

可以在开始连接时设置传输:

await connection.Start(new LongPollingTransport());

正如下面评论所说,WebSocket传输可能更好

await connection.Start (new WebSocketTransport());