Javascript 信号员及;IE问题-投票待定

Javascript 信号员及;IE问题-投票待定,javascript,jquery,internet-explorer,signalr,signalr-hub,Javascript,Jquery,Internet Explorer,Signalr,Signalr Hub,我对IE和SignalR有问题,我正在使用它在两个数据库之间执行同步操作,这些操作在所有场景中都在Google Chrome/Firefox/Safari上成功完成 第一次使用IE,同步成功执行,但只执行了一次,第二次是挂起的请求堆栈和页面永久冻结。 我在网上找到了一个改变交通方式的解决方案。 但佩奇仍然僵硬 if (isIE()) { $.connection.hub.start({ transport: ['serverSentEvents','foreverFrame']}).don

我对IE和SignalR有问题,我正在使用它在两个数据库之间执行同步操作,这些操作在所有场景中都在Google Chrome/Firefox/Safari上成功完成

第一次使用IE,同步成功执行,但只执行了一次,第二次是挂起的请求堆栈和页面永久冻结。 我在网上找到了一个改变交通方式的解决方案。 但佩奇仍然僵硬

if (isIE()) {
   $.connection.hub.start({ transport: ['serverSentEvents','foreverFrame']}).done(function () {
       progressNotifier.server.DoMyLongAction();
   });
}else{
   $.connection.hub.start({ transport: ['serverSentEvents','longPolling'] }).done(function () {
       progressNotifier.server.DoMyLongAction();
   });
}
我正在使用: SgnalR v2.1.0.0 .Net framework v4.5 jqueryv1.8

这是个问题还是我做错了什么

编辑

我的应用程序使用Jquery进度条,我使用以下代码更新此进度条: 服务器端:

Clients.Caller.sendMessage(msg, 5, "Accounts");
客户端:

progressNotifier.client.sendMessage = function (message, value, Entity) {
      pbar1.progressbar("value", nvalue);
};

它在Firefox上运行,所以我认为这是一个信号器问题!!现在我感到困惑,如果它按预期工作,那么是什么导致了这个问题?

您在网上找到的解决方案不太可能帮助解决您的问题

我怀疑您的
IsIE()
函数是否正确识别IE。如果是,Signal应该只尝试建立“foreverFrame”连接,因为IE甚至不支持“serverSentEvents”。我不希望IE发出任何“/signalr/poll”请求,因为这些请求仅由“longPolling”传输发出

此外,在IE F12工具的“网络”选项卡中有一个“待定”轮询请求也是完全可以预料的。这就是设计的工作原理。基本上,一旦收到消息,客户机就会发出一个新的ajax请求(长轮询)来检索新消息。如果没有立即可用的新消息,服务器将等待(对于SignalR,默认情况下最多110秒,而不是永远等待)新消息发送到客户端,然后再使用新消息响应挂起的长轮询请求


除了在“网络”选项卡下显示挂起的轮询请求外,您能否明确说明您遇到了什么问题?如果您提供控制台输出,并在网络选项卡中显示所有“/signalr/…”请求,也会有所帮助。

您可以尝试使用
EventSource
(SSE)

我用的是: 但对信号机进行了修改:


我用它工作了一年,signer只需检查
窗口。EventSource
,它就工作了。

你是对的,IsIE()函数在IE11上没有正常工作,但是未决问题仍然存在,但方式不同“/signer/connect?transport=foreverFrame…”控制台每隔几分钟就会出现一次ping。我将解决方案复制到不同的服务器,它在那里工作正常,我尝试进行IIS重置并清除浏览器缓存。。。还有什么我遗漏的吗?两个服务器使用相同的.net framework 4.5作为长轮询,您可能会看到挂起的“/signal/connect?transport=foreverFrame…”请求/ping请求也应每5分钟发出一次。在不进入“网络”选项卡的情况下,您能解释一下您的应用程序到底出了什么问题吗?什么是意外行为?为什么这是一个公认的答案?它甚至不能解决问题答案是“网络”选项卡中的挂起信号器请求不是问题,这是预期的行为。@halter73那么我们如何减少默认等待时间?我想把价格降到10英镑左右。