起床和跑步
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 集线器的连接。