起床和跑步
IIS / .NET 版本要求 : 請參見此處
SignalR 2+
-
安裝 NuGet 軟體包
Microsoft.AspNet.SignalR
(這是整個 SignalR 解決方案),它會要求你為其他軟體包安裝任何依賴項。接受條款並安裝它們。 -
現在我們已經有了生成我們自己的 SignalR Hub 所需的
.dlls
和客戶端指令碼,讓我們建立一個。單擊你的 Web 專案,新增名為Hubs
或SignalR
的資料夾,然後在其中新增一個類。我將我的名字命名為MessagingHub.cs
。NameOfYourChoosing Hub
-
我們需要從我們通過 NuGet 下載的 SignalR dll 中的基類
Hub
派生。程式碼看起來像:[HubName("messagingHub")] public class MessagingHub : Hub { //empty hub class }
在我們的 Startup.cs 類中,我們可以讓
IAppBuilder
知道我們將使用 SignalR。public partial class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); ConfigureAuth(app); } }
-
為了在客戶端上引用我們的集線器程式碼,我們需要匯入/引用 2 個指令碼(除了顯而易見的 jQuery 參考)。主要的
jQuery.signalR-version.js
檔案和 SignalR 專門為我們的集線器生成的hubs.js
檔案。這些資源可能如下所示:// script tag src="/YourAppPath/scripts/jquery-1.6.4.js" // script tag src="/YourAppPath/scripts/jquery.signalR-2.2.0.js" // script tag src="/YourAppPath/signalr/hubs"
-
由於 SignalR 的 JavaScript 構建在 jQuery 之上(需要> = v1.6.4),因此連線和斷開連線到集線器的程式碼應該看起來相當簡單。在這裡它的所有’榮耀(包裹在 IIFE 中):
$(function() { //notice the camel casing of our hub name corresponding to the [HubName()] attribute on the server var connection = $.connection.messagingHub; $.connection.hub.start().done(function () { alert("Connection Successful!"); }).fail(function (reason) { console.log("SignalR connection failed: " + reason); }); });
-
截至目前,我們應該能夠執行應用程式並建立與 SignalR 集線器的連線。