簡體   English   中英

一段時間不活動后,SignalR JavaScript集線器方法未在IE中觸發

[英]SignalR javascript hub method not firing in IE after a period of inactivity

我有一個SignalR(v0.5.2)集線器,它向JavaScript客戶端發送消息。

C#

public Task SendData(ClassName classData){
    return Clients["groupid"].renderData(classData);
}

javascript

var _client = $.connection.myHub;
_client.renderData = function(data){
    /* do stuff */
};

$.connection.hub.start({ transport:activeTransport }, function(){ });

除了在IE9中處於非活動狀態一段時間之后,JavaScript方法無法運行之外,其他所有方法都工作正常。

我在IE9開發人員工具中查看了/signalr/connect?transport=foreverFrame網絡日志的響應/signalr/connect?transport=foreverFrame ,可以看到我收到了以下消息:

<script>r(c, {"MessageId":"54","Messages":[{"Hub":"myHub","Method":"renderData","Args":[....]]}],"Disconnect":false,"TimedOut":false,"TransportData":{"Groups":["LiveBid.999"]}});</script>
<div>{"MessageId":"54","Messages":[{"Hub":"myHub","Method":"renderData","Args":[....]]}],"Disconnect":false,"TimedOut":false,"TransportData":{"Groups":["LiveBid.999"]}}</div>

但是JavaScript方法永遠不會觸發?

經過大量時間調試后,原來是導致問題的原因是我的Modernizr文件的版本。

我對Modernizer的內部工作原理不是很熟悉,但是我創建了一個僅具有css / html5元素功能的文件的自定義版本,目前似乎可以與SignalR和foreverFrame一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM