Asp.net
SignalR OnConnected 和 OnDisconnected 未觸發
我的集線器中的 OnConnected 和 OnDisconnected 覆蓋無法觸發時遇到問題。
出於複製目的,我有一個非常簡單的集線器:
public class OnlineHub : Hub { public void TestMethod() { var a = 1; } public override System.Threading.Tasks.Task OnConnected() { return Clients.All.connected(Context.ConnectionId, DateTime.Now.ToString()); } public override System.Threading.Tasks.Task OnDisconnected() { return Clients.All.disconnected(Context.ConnectionId, DateTime.Now.ToString()); } }還有一個aspx頁面:
<script type="text/javascript"> $(function () { $("#btn").click(function () { $.connection.onlineHub.server.testMethod(); }); $.connection.onlineHub.server.connected = function (id, date) { $("#results").append("connected: " + id + " : " + date + "</br>"); }; $.connection.onlineHub.server.disconnected = function (id, date) { $("#results").append(("connected: " + id + " : " + date + "</br>"); }; $.connection.onlineHub.connection.start(); }); </script>我正在使用 jQuery 1.6.4 和 signalR 1.0.0-alpha2。未執行客戶端連接和斷開連接的方法。如果我在 OnConnected 或 OnDisconnected 中設置斷點,斷點不會命中。
正在建立連接,因為我的 TestMethod 呼叫正常,並且我從 signalR 的協商呼叫中得到了一個 connectionId。
我確定我錯過了一些簡單的東西。
提前致謝。
您的客戶端處理程序應該如下所示:
$.connection.onlineHub.client.connected = function(){...}
事實證明,在腳本中,您需要為要在集線器上引發的事件定義至少一個客戶端回調。在預期呼叫 OnConnected 和 OnDisconnected 時要小心。