我在我的asp.net应用程序中使用SignalR javascipt client。在我的应用程序中,所有中止调用都是顺序的,并阻止我的JavaScript的进一步执行。在signalR代码中,我观察到有一个用于进行异步中止调用的标志。
我发现在IE,Chrome,Safari和Firefox中,ajaxabort方法中async变量的默认值始终为false。
更新:
signalR中有一段代码设置了异步属性。
var asyncAbort = !!connection.withCredentials && firefoxMajorVersion(window.navigator.userAgent) >= 11;
“connection.withCredentials”的值来自何处?对我而言,它总是未定义的,所以我的asyncAbort总是假的。这使我长时间运行的中止调用阻止了chrome和IE中的所有内容。注意:我没有使用任何跨域调用。