使用 Signalr/PersistentConnection 将服务器消息发送到连接的客户端

2024-05-13

我正在使用 SignalR/PersistentConnection,而不是集线器。

我想从服务器向客户端发送消息。我有客户端 ID 来发送它,但是如何从服务器向客户端发送消息呢?

就像,当服务器上发生某些事件时,我们希望向特定用户发送通知。

有任何想法吗?


The github https://github.com/SignalR/SignalR页面显示了如何使用持久连接来执行此操作。

public class MyConnection : PersistentConnection {
    protected override Task OnReceivedAsync(string clientId, string data) {
        // Broadcast data to all clients
        return Connection.Broadcast(data);
    }
}

全局.asax

using System;
using System.Web.Routing;
using SignalR.Routing;

public class Global : System.Web.HttpApplication {
    protected void Application_Start(object sender, EventArgs e) {
        // Register the route for chat
        RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");
    }
}

然后在客户端:

$(function () {
    var connection = $.connection('echo');

    connection.received(function (data) {
        $('#messages').append('<li>' + data + '</li>');
    });

    connection.start();

    $("#broadcast").click(function () {
        connection.send($('#msg').val());
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Signalr/PersistentConnection 将服务器消息发送到连接的客户端 的相关文章

  • AngularJS Promise $q.all 和 SignalR

    我已经检查了有关承诺的答案数量 但我无法让我的代码工作 也许我在其他地方做了一些非常错误的事情 一般来说 我正在使用 AngularJS 和 SignalR 开发小型测试应用程序 我有 signalR 服务 如下所示 function us
  • SignalR 中消息的最大限制

    我正在尝试通过 SignalR 发送通知 它工作完美 但是我们可以通过 SignalR 发送的消息的最大大小是多少 官方有这样的限制吗 https github com SignalR SignalR issues 1205 https g
  • SignalR:加载集线器时出错

    Signalr 不加载我的集线器 SignalR Error loading hubs Ensure your hubs reference is correct e g 我正在打电话app MapSignalR in startup co
  • 如何在 ASP.NET Core 中获取 SignalR Hub 上下文?

    我正在尝试使用以下命令获取集线器的上下文 var hubContext GlobalHost ConnectionManager GetHubContext
  • SignalR - 无法建立 SSL/TLS 安全通道的信任关系

    我正在尝试从服务器代码调用我的 signalR hub 方法 但它给了我一个错误 无法建立 SSL TLS 安全通道的信任关系 我的服务器端代码是这样的 private void InvokeNotification string meth
  • 将 Autofac 与 SignalR 结合使用时出现范围错误

    我正在尝试注入HttpContextBase在我的 SignalR 中心 public class EventHub Hub IDisconnect private readonly HttpContextBase httpContextB
  • 与 Hub 中的 HttpContext.GetOwinContext() 等效的是什么?

    我在控制台应用程序中创建了一个自托管的 OWIN SignalR 服务器 从在 ASP NET MVC 应用程序 在 IIS 中 托管 SignalR 的示例中 我看到以下代码行 var authenticateResult await H
  • SignalR hub 中的上下文为空

    我有一个 Web 表单应用程序并进行测试 以了解 SignalR 如何满足我的要求之一 我的中心代码 using System using System Collections Generic using System Linq using
  • SignalR:使用 GlobalHost.ConnectionManager 发送数据不起作用

    我有一个这样的中心 public class MessageHubBub Hub public void ServerMethod Clients All sayHi hello GlobalHost ConnectionManager G
  • SignalR 和 Pusher 之间的区别

    我想使用 React 作为前端技术创建一个 Web 应用程序 该应用程序的要求是服务器能够向所有客户端更新有关更改的信息 不必是精确的实时时间 但应在不超过 10 秒后更新 像客户端每隔几秒向服务器请求更新这样的解决方案是不可能的 要求 1
  • 如何在 ASP.NET Core 应用程序中将记录器传递到服务器端的 SignalR hub

    我有带有 React 客户端的 ASP NET Core 应用程序 我在服务器和客户端之间有 SignalR 消息传递 我在服务器端有以下代码 Startup cs public void Configure IApplicationBui
  • 如何跨域使用 SignalR

    我正在尝试将 SignalR 与跨域一起使用 但在调用启动函数时收到错误消息 错误信息是 Uncaught TypeError Cannot call method start of undefined 我正在使用代码 服务器端 assem
  • SignalR 不能与 .Net Core 一起使用

    我正在尝试安装SignalR在我的中使用 NuGet 包管理器C Asp Net 核心项目 但我收到此错误 称 SignalR 与 net core 不兼容 它真的还不支持吗 或者我可以做些什么来让它发挥作用吗 如果有必要提及的话 我正在使
  • 是否可以在 SignalR hub 方法中返回预编码的 JSON 字符串?

    在 MVC 项目中 我在集线器上有一个与此类似的方法 public string Foo return DoCrazyThingThatReturnsJson 不幸的是 SignalR 或其他东西 接受编码的 JSON 字符串并愉快地对其进
  • 在集线器外部获取 SignalR 用户 (Hub.Context)

    有没有办法在集线器之外获取当前的 signalR 请求用户 我可以在集线器方法内部使用 Hub Context User 但是如果集线器方法调用任何其他底层 Wcf 服务调用 附加的BehaviorExtensionElement 用于添加
  • 在 Android 中实现 Signal R

    我尝试过以下方式 import java util concurrent ExecutionException import microsoft aspnet signalr client LogLevel import microsoft
  • 浏览器多个选项卡中的不同连接

    为什么 SignalR 在浏览器的多个选项卡中为同一登录用户建立不同的连接 有没有一种方法可以为同一浏览器中打开的所有选项卡建立一个连接 我所说的连接是指 SignalR 中用户的连接 ID 因为同一浏览器的不同选项卡是不同的文档 进程 每
  • 信号器重试逻辑 .Net Core

    我们在 Signalr Net Core 中遇到了重新连接问题 重新连接到 signalr hub 的最佳实践是什么 以下似乎是有关重新连接的最受尊敬的文章 但似乎已经过时了 不是吗 将 SignalR 2 0 NET 客户端重新连接到服务
  • 通过查询字符串传递“Bearer”时 SignalR 身份验证失败

    我想在 SignalR 中启用身份验证 而服务器托管在 ASP NET WebAPI 中 我使用 OAuth Bearer 身份验证 客户端是 AngularJS 在客户端 我最初通过 HTTP 标头传递 Bearer 令牌 它与 WebA
  • RavenDB 和 SignalR Nuget 包依赖项冲突

    基本冲突 SignalR 希望 Newtonsoft Json 版本为 4 0 7 或更高版本 而 RavenDB 希望版本等于 4 0 5 这显然意味着它们不能并排安装 因此 除了从其中之一下载源代码并在本地计算出依赖项 然后必须签入从中

随机推荐