[英]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.