SignalR入門之從外部訪問持久性連接或Hub


有的時候,需要從外部訪問持久性連接或Hub服務。

比如,假設A和B兩個客戶端正在聊天,那么系統或第三方在不參與聊天的情況需要為他們發送系統消息,那么此時,就需要獨立來訪問持久性連接或Hub服務。

之前在做的實例里用的都是html作為客戶端的。現在將建一個aspx的頁面為第三方操作頁面,為客戶端提供系統消息:

 1 using Microsoft.AspNet.SignalR;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Web;
 6 using System.Web.UI;
 7 using System.Web.UI.WebControls;
 8 
 9 namespace WebApplication1
10 {
11     public partial class WebForm1 : System.Web.UI.Page
12     {
13         protected void Page_Load(object sender, EventArgs e)
14         {
15             //從外部訪問類訪問服務器上相對應的hub服務  方式a
16             var context=GlobalHost.ConnectionManager.GetHubContext<TestHub>();//管理連接到的Hub服務
17             context.Clients.All.recevie("該吃飯了");//只要是連接到該hub服務上的客戶端都會調用客戶端recevie方法
18 
19             //從外部訪問持久性連接服務 方式b
20             var connectionContext = GlobalHost.ConnectionManager.GetConnectionContext<TestConnection>();//管理相對應的持久性連接
21             connectionContext.Connection.Broadcast("該吃飯了");//向所有已連接的客戶端發送信息
22 
23         }
24     }
25 }

代碼中的兩種方式任意一種都行,看服務端采取的是什么方式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM