SignalR 分:PersistentConnection和Hub 2種模式。javascript
跨域又分:UseCors和JsonP 2種方法前端
因此例子寫了4種。java
核心代碼:json
UseCors跨域
//PersistentConnection Mode app.UseCors(CorsOptions.AllowAll); //PersistentConnection Mode app.MapSignalR<MyConnection>("/server", new ConnectionConfiguration() { }); // 有關如何配置應用程序的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkID=316888 //Hub Mode app.MapSignalR("/lcc", new HubConfiguration());
Use JsonPapp
//PersistentConnection Mode app.MapSignalR<MyConnection>("/server", new ConnectionConfiguration() { EnableJSONP = true }); // 有關如何配置應用程序的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkID=316888 //Hub Mode app.MapSignalR("/lcc", new HubConfiguration() { EnableJSONP = true });
Cross HUb 前端jsonp
// 創建對應server端Hub class的對象,請注意geffChat的第一個字母要改爲小寫 var chat = $.connection.myHub; $.connection.hub.url = 'http://localhost:2001/lcc'; //把connection打開 $.connection.hub.start().done(function () { chat.server.hello(); }); // 定義client端的javascript function,供server端hub,經過dynamic的方式,調用全部Clients的javascript function chat.client.sendMessage = function (message) { //當server端調用sendMessage時,將server push的message數據,呈如今wholeMessage中 $('#messages').append('<li>' + message + '</li>'); }; $("#broadcast").click(function () { chat.server.sendMessage($('#msg').val()); $('#msg').val(""); }); $("#btnStop").click(function () { $.connection.hub.stop(); });
Cross Connection 前端url
var connection = $.connection("http://localhost:2001/server"); connection.received(function (data) { $('#messages').append('<li>' + data + '</li>'); }); connection.start(); $("#broadcast").click(function () { connection.send($('#msg').val()); }); $("#btnStop").click(function () { connection.stop(); });
JsonP HUbspa
// 創建對應server端Hub class的對象,請注意geffChat的第一個字母要改爲小寫 var chat = $.connection.myHub; $.connection.hub.url = 'http://localhost:16727/lcc'; //把connection打開 $.connection.hub.start({ jsonp: true }).done(function () { chat.server.hello(); }); // 定義client端的javascript function,供server端hub,經過dynamic的方式,調用全部Clients的javascript function chat.client.sendMessage = function (message) { //當server端調用sendMessage時,將server push的message數據,呈如今wholeMessage中 $('#messages').append('<li>' + message + '</li>'); }; $("#broadcast").click(function () { chat.server.sendMessage($('#msg').val()); $('#msg').val(""); }); $("#btnStop").click(function () { $.connection.hub.stop(); });
JsonP connection.net
var connection = $.connection("http://localhost:16727/server"); connection.received(function (data) { $('#messages').append('<li>' + data + '</li>'); }); connection.start({ jsonp: true }); $("#broadcast").click(function () { connection.send($('#msg').val()); }); $("#btnStop").click(function () { connection.stop(); });
代碼下載:http://download.csdn.net/detail/shikyoh/9734460