我剛開始使用SignalR進行實時更新。連接建立後我需要執行一些操作。所以我在.done()方法中編寫了該代碼。SignalR - 建立連接需要相當長的時間
我面臨的問題是:建立連接需要一些時間,並且由於我無法執行我所期望的操作。以下是我的js代碼片段。
$(function() {
// Proxy created on the fly
projectHub = $.connection.projectHub;
$.connection.hub.logging = true;
// Start the connection
$.connection.hub.start().done(function() {
$("#lnkFollowProject").live("click", function() {
console.log("Follow click");
projectHub.server.followProject(projectId, currentLoggedInUserId);
});
$(".lnkUnfollowProject").live("click", function() {
console.log("Unfollow click");
projectHub.server.unfollowProject(projectId, currentLoggedInUserId);
}); }); });
我不確定爲什麼需要時間來建立連接。當我嘗試使用簡單的聊天應用程序,它運作良好。我爲該頁面做了許多其他功能,並使用knockout進行綁定。 (不適用於上述功能)。我也搜查過這個,發現殺毒軟件可能是受害者。我試圖禁用,但沒有收益。
我知道一個解決方案,我可以禁用按鈕直到連接建立和完成啓用它。但我不希望用戶限制。
如果有其他可能的問題,請更新我。
在此先感謝。
的初衷是這樣而已。但問題是如果點擊關閉/取消關注 - 我們正在使用Hub方法調用,這需要建立連接。因此,如果連接沒有建立,它會發出錯誤說「SignalR:連接尚未完全初始化」。 –
我發現的可能原因是,我們正在爲此頁面加載許多JS和css文件。當我們刪除它們時,連接將以毫秒爲單位建立起來。但我們不能避免這些JS和CSS文件。 –
很高興你發現問題。我不確定你首先說的是什麼,看起來好像使用永久連接作爲集線器。爲了解決加載許多JS和CSS文件,我能想到的唯一方法就是使用縮小。 – Lin