顯示介面 打開3個這樣的介面,再一個中輸入發送信息,在其他介面中會同時得到數據。 1.下載 SignalR jquery.signalR.js,並且引用。 2.建立MVC工程。 3.在Global.asax中加入註冊項目,註冊連接項目 protected void Application_Start() 4.建立myconnection類,繼承PersistentConnection 重寫 ,其中clientId是發送數據的用戶信息,可以指定給特定用戶或者用戶組 protected override Task OnReceivedAsync(string clientId, string data) //在這裡進行數據處理 代碼如下: View Code public class myconnection : PersistentConnection { protected override Task OnReceivedAsync(string clientId, string data) { // Broadcast data to all clients data = string.Format("數據是:{0} 時間是:{1}", data, DateTime.Now.ToString()); return Connection.Broadcast(data); } } 5.在Index.cshtml頁面中進行調用 View Code <script type="text/javascript"> $(function () { var connection = $.connection('echo'); connection.received(function (data) { $('#messages').append('<li>' + data + '</li>'); }); connection.start(); $("#broadcast").click(function () { connection.send($('#msg').val()); }); }); </script> 介面代碼如下: View Code @{ ViewBag.Title = "Home Page"; } <script type="text/javascript"> $(function () { var connection = $.connection('echo'); connection.received(function (data) { $('#messages').append('<li>' + data + '</li>'); }); connection.start(); $("#broadcast").click(function () { connection.send($('#msg').val()); }); $("#btnStop").click(function () { connection.stop(); }); }); </script> <h2>@ViewBag.Message</h2> <input type="text" id="msg" /> <input type="button" id="broadcast" value="發送" /> <input type="button" id="btnStop" value="停止" /> <ul id="messages"> </ul> 可以開始,停止。 var connection = $.connection('echo'); 取得連接 囘調函數: connection.received(function (data) { 停止連接: connection.stop(); 源碼下載:http://files.cnblogs.com/Teco/MvcApplicationSignalR.rar 上述代碼:我註釋掉 return Connection.Broadcast(data); 只給自己發送,如果要全部發送,請使用 return Connection.Broadcast(data); |
|