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日

相关文章

  • jQWidgets jqxExpander showArrow属性

    jQWidgets jqxExpander showArrow属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包表格等。jqExpander是jQ的一个组件,创建可折叠面板。jqxExpander提供了多个属性其中包括showArrow属性。本文将详细介绍showArrow`属性,并提供两个示例。 showArrow属性的…

    jquery 2023年5月9日
    00
  • jQWidgets jqxComboBox enableAt()方法

    jQWidgets 的 jqxComboBox 组件提供了 enableAt() 方法,用于启用指定索引位置的下拉列表项。本文将详细介绍 enableAt() 方法的使用方法,包括方法概述、示例说明以及使用注意事项。 enableAt() 方法概述 enableAt() 方法用于启用指定索引位置的下拉列表项。该方法的语法如下: enableAt(index:…

    jquery 2023年5月11日
    00
  • jQuery实现用户输入自动完成功能

    下面是详细讲解jQuery实现用户输入自动完成功能的完整攻略: 1. 理解自动完成功能 用户输入自动完成功能是指,在用户在输入框中输入内容时,根据已经输入的文本,自动匹配可能的选项,并展示给用户。当用户点击某个选项时,将文本框的值设为该选项的值。 实现自动完成功能的技术手段很多,比如Ajax、原生JavaScript和jQuery等,其中jQuery封装了大…

    jquery 2023年5月28日
    00
  • jQuery UI的Selectmenu widget()方法

    jQuery UI的Selectmenu widget()方法详解 jQuery UI的Selectmenu是一个下拉菜单插件,它允许用户从预定义的选项中进行选择。在本文中,将详细介绍Selectmenu widget()方法的用法和示例。 widget()方法 widget()方法是Selectmenu插件中的方法,它返回选择单的jQuery对象。该方法可…

    jquery 2023年5月11日
    00
  • jquery中用jsonp实现搜索框功能

    下面是实现搜索框功能的完整攻略: 1. 确定查询接口 首先,需要确定查询数据的接口地址,以百度搜索为例,我们可以使用如下地址: https://www.baidu.com/su?wd=搜索关键词&cb=回调函数名 其中,wd参数表示搜索关键词,cb参数表示在返回数据时调用的回调函数名。该接口返回数据的格式为JSONP格式。 2. 编写HTML代码 根…

    jquery 2023年5月28日
    00
  • jQWidgets jqxScrollView buttonsOffset属性

    以下是关于 jQWidgets jqxScrollView 组件中 buttonsOffset 属性的详细攻略。 jQWidgets jqxScrollView buttonsOffset 属性 jQWidgets jqxScrollView 组件的 buttonsOffset 属性用于设置滚动图中左右按钮的偏移量。 语法 // 获取 buttonsOffs…

    jquery 2023年5月12日
    00
  • jQWidgets jqxComboBox searchMode属性

    以下是关于“jQWidgets jqxComboBox searchMode属性”的完整攻略,包含两个示例说明: 简介 jqxComboBox件提供了 searchMode 属性,该属性用于设置下拉列表的搜索式。通过使用 searchMode 属性,我们可以控制下拉的搜索方式,以便更好地适应不同的应用场景。 详细攻略 以下是 jqxComboBox 控件的 …

    jquery 2023年5月11日
    00
  • jQWidgets jqxGrid getstate()方法

    以下是关于“jQWidgets jqxGrid getstate()方法”的完整攻略,包含两个示例说明: 方法简介 jqxGrid 控件的 getstate() 方法用于获取当前 jqxGrid 控件的状态信息。该方法的语法如下: $("#jqxGrid").jqxGrid(‘getstate’); 在上述语法中,#jqxGrid 表示 …

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