起床和跑步

IIS / .NET 版本要求請參見此處

SignalR 2+

  1. 安裝 NuGet 軟體包 Microsoft.AspNet.SignalR(這是整個 SignalR 解決方案),它會要求你為其他軟體包安裝任何依賴項。接受條款並安裝它們。

  2. 現在我們已經有了生成我們自己的 SignalR Hub 所需的 .dlls 和客戶端指令碼,讓我們建立一個。單擊你的 Web 專案,新增名為 HubsSignalR 的資料夾,然後在其中新增一個類。我將我的名字命名為 MessagingHub.cs NameOfYourChoosing Hub

  3. 我們需要從我們通過 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);
        }
    }
    
  4. 為了在客戶端上引用我們的集線器程式碼,我們需要匯入/引用 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"
    
  5. 由於 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);
        });
    });
    
  6. 截至目前,我們應該能夠執行應用程式並建立與 SignalR 集線器的連線。