SignalRエントリーの外部からの永続接続またはHubへのアクセス

4023 ワード

外部から永続接続やハブサービスにアクセスする必要がある場合があります.
例えば、AとBの2つのクライアントがチャット中であると仮定すると、システムまたはサードパーティがチャットに参加しない場合にシステムメッセージを送信する必要があり、この場合、永続的な接続または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();//      Hub  
17             context.Clients.All.recevie("    ");//       hub              recevie  
18 
19             //               b
20             var connectionContext = GlobalHost.ConnectionManager.GetConnectionContext();//           
21             connectionContext.Connection.Broadcast("    ");//              
22 
23         }
24     }
25 }

コードの2つの方法はいずれでもよく、サービス側がどのような方法を取っているかを見てみましょう.