ASP.NET使用SignalR2实现服务器广播

让我为你详细讲解“ASP.NET使用SignalR2实现服务器广播”的完整攻略。

一、准备工作

  1. 安装 Visual Studio 软件;
  2. 安装 Microsoft.AspNet.SignalR NuGet 包;
  3. 在 Global.asax.cs 中启用 SignalR,添加以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using Microsoft.AspNet.SignalR;

namespace YourWebApplication
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // 启用 SignalR
            GlobalHost.Configuration.EnableDetailedErrors = true;
            GlobalHost.Configuration.DefaultMessageBufferSize = 100;
            RouteTable.Routes.MapHubs();
        }
    }
}

二、创建 SignalR Hub

在你的程序的主命名空间下添加一个类,它必须继承自 Hub 类。

using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace YourWebApplication.SignalR
{
    [HubName("yourhubname")]
    public class YourHub : Hub
    {
        public async Task Send(string message)
        {
            await Clients.All.SendAsync("receiveMessage", message);
        }
    }
}

三、客户端 JS 的 SignalR 客户端

  1. 连接:客户端和服务器将建立一个连接。
var connection = new signalR.HubConnection('/yourhubname');

connection.start().then(function () {
    console.log('连接成功!');
}).catch(function (err) {
    console.error(err);
});
  1. 客户端定义一个函数来处理从服务器端收到的“receiveMessage”事件。
connection.on("receiveMessage", function (message) {
    console.log(message);
});
  1. 客户端调用服务器端 Send 方法。
connection.invoke('Send', 'Hello, World!');

四、服务器端代码调用客户端代码

服务器端可以调用客户端的 JavaScript 函数,以从服务端发送消息给客户端。

Clients.Client(Context.ConnectionId).receiveMessage("Message from server.");
connection.on("receiveMessage", function (message) {
    console.log(message);
});

connection.start().then(function () {
    connection.invoke('Send', 'Hello, World!');
});

这就是 ASP.NET 使用 SignalR2 实现服务器广播的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET使用SignalR2实现服务器广播 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 如何使用jQuery在无序列表元素中添加一个列表元素

    在jQuery中,我们可以使用.append()函数向元素添加内容。如果我们想要在无序列表元素中添加一个列表元素,我们可以使用.append()函数来实现。以下是两个示例,演示如何使用jQuery无序列表元素中添加一个列表元素: 示例1添加一个列表元素 以下是一个示例,演示如何使用jQuery在无序元素中添加一个列表元素: <!DOCTYPE html…

    jquery 2023年5月9日
    00
  • jQWidgets jqxDocking hideAllCollapseButtons() 方法

    以下是关于“jQWidgets jqxDocking hideAllCollapseButtons() 方法”的完整攻略,包含两个示例说明: 方法简介 hideAllCollapseButtons() 是 jQWidgets jqocking 控件的方法,用于隐藏所有窗口的折叠按钮。该方法的语法如下: $("#jqxDocking").j…

    jquery 2023年5月10日
    00
  • 基于jQuery对象和DOM对象和字符串之间的转化实例

    让我来详细讲解“基于jQuery对象和DOM对象和字符串之间的转化实例”的完整攻略。 1. jQuery对象和DOM对象之间的转化 首先,我们需要了解jQuery对象和DOM对象的区别。jQuery对象是一个封装好的DOM对象集合,可以方便地操作和访问DOM元素,而DOM对象则是指网页上的实际HTML元素。在jQuery中,我们可以方便地将DOM对象转化为j…

    jquery 2023年5月27日
    00
  • jQWidgets jqxNavBar宽度属性

    以下是关于 jQWidgets jqxNavBar 宽度属性的详细攻略。 jQWidgets jqxNavBar 宽度属性 jQWidgets jqxNavBar 是一个多功能的导航栏控件,它提供了多种属性,您可以使用这些属性来自定义导航栏的外观和行为。其中一个属性是 width,它用于设置导航栏的宽度。 属性语法 以下是 jQWidgets jqxNavB…

    jquery 2023年5月12日
    00
  • 细说浏览器特性检测(2)-通用事件检测

    下面我来详细讲解一下“细说浏览器特性检测(2)-通用事件检测”的完整攻略: 一、 概述 在Web开发中,由于不同浏览器对JS事件的支持程度不同,开发者需要通过特性检测来检测浏览器所支持的事件类型,从而针对不同浏览器进行兼容性处理。 常见的事件类型有:鼠标事件、键盘事件、表单事件等。本文将重点讲解如何进行通用事件的检测,以及如何兼容IE浏览器和非IE浏览器。 …

    jquery 2023年5月28日
    00
  • 如何用jQuery找到所有带有hreflang属性的链接

    在jQuery中,我们可以使用选择器来找到所有带有hreflang属性的链接。以下是使用jQuery找到所有带有hreflang属性的链接的完整攻略: 步骤一:创建HTML结构 首先创建一个包含链接的HTML结构。以下是一个例子: <!DOCTYPE html> <html> <head> <title>Fin…

    jquery 2023年5月9日
    00
  • jQuery UI的Resizable ghost选项

    以下是关于 jQuery UI Resizable ghost 选项的详细攻略: jQuery UI Resizable ghost 选项 jQuery UI Resizable ghost 选项用于设置 resizable 功能的 ghost 元素。ghost 元素是 resizable 功能的一个副本,用于在用户调整大小时提供视觉反馈。该选项可以通过 r…

    jquery 2023年5月11日
    00
  • jQuery slideDown()方法

    jQuery slideDown()方法可以使元素以滑动的形式显示出来。下面是使用该方法的完整攻略: 语法 $(selector).slideDown(speed,callback); 参数说明 selector: 必需,用于指定要执行滑动效果的元素。 speed(可选): 设置滑动效果持续的时间,单位为毫秒(ms),默认值为400。 callback(可选…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部