日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何在web api中使用SignalR

發布時間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在web api中使用SignalR 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明: 在webapi中使用signalr,使用IIS

環境: vs2012, .net4.5 ?

第一步:建web api項目

? ??

第二步:nuget導入signalr

? ??

? ?

? ?Install-Package Microsoft.AspNet.SignalR

Install-Package Microsoft.Owin.Cors? (用于跨域)

第三步:創建hub類

? ? ??

? ? ? demo是從網上down的,去除了一些沒用到的東西,只保留了MessageHub

?

第四步:創建Startup類

? ? ? ?

第五步:在webapi方法中調用推送

? ? ? ??

? ? ?

? ? ? Clients.All 會給所有客戶端推送, hub.Clients.All.showMessage()意思是調用所有連接的客戶端的showMessage方法。

  說明:如果想給指定的人推送,要先獲得指定連接的ConnectionId, 通過

  hub.Clients.Clients(iList<string> list).showMessage 來調用,? 這里的list是ConnectionId集合。

  注1:showMessage這個方法名是自定義的,只要與前端一致即可。

  注2:后面會說怎么給指定人推送消息。?

  至此,signalr在webapi的代碼已經完成。將其放到iis里。注意應用程序池的.net版本。

  IIS綁定的9999端口,所以網址就是? http://localhost:9999

?

第六步:編寫接收推送消息的web端A

? ? ?建一個web程序,這里只建了一個webform程序。在nuget中導入signalR

? ? ?

? ? ??

  這里的地址的前半段就是iis綁定的地址。

  $.connection.messageHub, 這個messageHub首字母要小寫。

  hub.client.showMessage,對應webapi里的調用。

  jQuery.support.cors=true, 主要針對IE8,9跨越(本人并未驗證)

? ? ? 補充:?

? ? ? ? $.connection.hub.disconnected(function (e) {
? ? ? ? ? ? ?console.log("斷開連接"); //這里添加斷開連接的處理方法
? ? ? ? });
? ? ? ?//如果斷開連接,會自動重連10次,10次都失敗,會觸發disconnected方法

第七步:使用app或者其他端調用webapi里的方法, web端A推送消息

? ? ??這里就不用app了,用一個web頁面來代替app調用。具體如下:

? ? ?

? ? END:一個簡單的demo完成了。

? ??

? ? 最后:如何推送給指定用戶。

? ? ? ? 向指定用戶推送,要用到connetionid 。

? ? ? ? 在MessageHub類里添加一個SendLogin方法:

? ? ? ?

   這是網上找到demo, 后期考慮把 name和connetionid關系存到數據庫中。

?  接收推送端:注意首字母小寫

? ? ? ?

? ? ?

   Webapi方法里:

? ? ? ? ?

? ? ? ?

?

? ? ? ?參考博客:

? ? ? ? ? ?http://blog.csdn.net/a1002308667/article/details/51205513

? ? ? ? ? ?http://www.cnblogs.com/humble/p/3856357.html

? ? ? ? ? ?http://www.cnblogs.com/landeanfen/p/5177176.html

? ? ? ? ? ?等等

?

作者:Knightly

原文地址:https://www.cnblogs.com/lanshanke/p/6604568.html

總結

以上是生活随笔為你收集整理的如何在web api中使用SignalR的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。