SignalR指定使用者推送訊息

2022-07-30 16:30:21 字數 1684 閱讀 4808

一、首先,在mvc專案中安裝singalr包(singalr2.0需要.net4.5以上,vs2010可以安裝1.1.3版本,本例為vs2010+signalr1.1.3)。

開啟工具—nuget程式管理器—程式包管理器控制台,輸入:

安裝完成後,一定要閱讀彈出的txt,這裡非常重要,

有兩個很重要的提示,一是在global.asax檔案中加入routetable.routes.maphubs();二是在頁面前端加入指令碼(注:本示例採用的是mvc4,mvc其他版本有其他的寫法,所以要讀這個readme)。

二、安裝完signalr包後,我們在專案中新增乙個home控制器以及它的view,view選擇母版頁,記得在這個頁面裡加上

然後在專案中建立乙個目錄,目錄裡建立hub類檔案:

publicclass workflowhub: hub

/// 

/// 使用者上線函式

/// 

/// 

public voidsendlogin(string name)

else

//新使用者上線,伺服器廣播該使用者名稱

clients.all.loginuser(userlist);}}

其中publicclass userinfo

為使用者名稱列表

在home的view中,index.cshtml:

select>

div>

$(function () ;

//後端sendlogin呼叫後,產生的loginuser**

work.client.loginuser = function(userlist) ;

//hub連線開啟

$.connection.hub.start().done(function () );

});});

var reloaduser = function(userlist)

}script>

除錯執行,開啟兩個網頁(如果提示signalr必須在jquery之後,就在_layout.cshtml中把jquery放前面),輸入使用者名稱,登入後在列表中會顯示當前登入的使用者的資訊:

另乙個網頁中輸入李晨:

我們在李晨這裡,給鄧超傳送,這樣我們就會在鄧超這裡看到推送的訊息了:

SignalR訊息推送

不久前我看到一篇用asp.netcore呼叫signalr做日誌推送的部落格,覺得蠻不錯,就按照作者的教程實際攢了一套webapi,感覺確實挺好的,又查了一些關於signalr的資料,做了一些完善,在這裡進行彙總。github鏈結 1.signal概要 signalr的實現機制與 net wcf或r...

訊息推送SignalR簡單例項

訊息推送signalr 乙個asp net 下的類庫,可以在asp net 的web專案中實現實時通訊。功能 當所連線的客戶端變得可用時伺服器 可以立即向其推送內容,而不是讓伺服器等待客戶端請求新的資料。可參考 前台關鍵之處 1首先獲取客戶端頁面的名字 2然後通過 connection.chat 建...

SignalR 實時通知訊息並行推送和批量儲存實現

前言 signalr是基於.net平台web應用的實時訊息通訊框架,有人稱之為.net平台的.nodejs 可用於web頁面聊天,訊息推送等功能實現。本文摘取部分 利用.net平台的parallel功能實現通知訊息的並行推送和批量儲存。1.接收通知訊息的api介面 mvc 控制器 2.通知訊息的並行...