问题标签 [signalr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2451 浏览

asp.net - 使用 SignalR 在多个 Web 应用程序之间进行通信

我有两个不同的 Web 应用程序需要相互通信(我目前可以通过使用 Silverlight Duplex 来完成,但扩展性不是很好)。在阅读了有关 SignalR 的信息后,我想尝试一下,但找不到太多关于如何执行此操作的文档。任何关于 ho 入门的建议将不胜感激。

谢谢!

更具体的信息: 示例:应用程序 A(投标界面)- 允许多个最终用户对某些项目进行投标的网页。

应用程序 B(管理界面)- 允许用户(或可能是多个用户)监视/控制来自投标界面的操作的网页。

因此,当来自应用程序 A 的用户对某件作品出价时,我需要一种方法来提醒应用程序 B 已经出价。然后从应用程序 B,如果用户选择接受投标,我需要向应用程序 A 发送警报(更新当前价格,提高投标等...)

0 投票
2 回答
2802 浏览

signalr - SignalR 连接不可靠或暂停并重新连接?

我正在考虑更新现有站点以使用 SignalR。我的网站轮询第三方服务以获取数据更改,对其进行一些魔术,客户每隔几分钟对其进行轮询一次,以通过任何更新刷新他们的视图。

SignalR 似乎是消除客户端轮询的好方法,但我想知道 SignalR 如何处理断开和重新连接的连接,尤其是对于可能已暂停一段时间的移动 Web 应用程序。它会自动协商并排队同时错过的任何更新,还是在这些情况下客户端需要从头开始重新同步?我查看但找不到任何关于此的文档,因此将不胜感激。

0 投票
2 回答
1654 浏览

nservicebus - NServiceBus 作为代码跟踪机制:从类库发送消息并使用 SignalR 在 Web 应用程序上显示

我第一次努力使用 NServiceBus,没有 ESB 背景。在阅读了博客文章、示例、文档等之后。我无法弄清楚为什么我的 C# 类库不会发送消息。在 Bus.Send(msg) 我得到“没有为消息 Messages.TraceStatement 指定目的地。无法发送消息。检查配置文件中的 UnicastBusConfig 部分并确保消息类型存在 MessageEndpointMapping。”

但首先,关于我的架构和我正在尝试做的事情,因为它与我在那里看到的任何示例都不同。

我的意图是像 Ben 一样使用 SignalR 和 NServiceBus ,但有两个主要变化:

  1. 不使用 NServiceBus.Host.exe。我想要一个仅 Web 的,没有控制台的实现。
  2. 出于实时代码跟踪的目的,从中间层类库发送消息。换句话说,我想在我的代码周围添加 Bus.Send 语句,从而能够在网页上查看代码执行跟踪语句(它们只是开发人员设置的临时字符串)。

假设我没有将 NServiceBus 误解到我所设想的甚至不可能的程度(或对该技术的滥用),我想弄清楚如何从类库发送消息。目前我有一个“Managers” dll,它有一个 app.config 文件,如下所示:

注意:在 Ben 的项目中,我将“Commands”重命名为“Messages”。因此(参考我帖子顶部的错误消息),据我所知,我已经正确定义了 MessageEndpointMapping。(我验证了队列存在于 MSMQ 中。)

谁能告诉我我做错了什么?

此外,我非常感谢有关如何删除 NServiceBus.Host.exe 依赖项的输入(请参阅 Ben 示例中的 Worker 项目)。理想情况下,类库将发送消息(就像 Ben 的项目中的终端所做的那样),Web 应用程序作为订阅者能够处理事件并使用 SignalR 显示消息。

更新

目前我已经放弃了类库项目中的配置 DLL,因为我认为 Web.config 会覆盖它。所以我的 Web.config 现在看起来有以下内容:

我还根据http://docs.particular.net/nservicebus/messaging/publish-subscribe/创建了一个名为“NServiceBus_Subscriptions”的私有电车队列。

我的 Global.asax.cs 有这个:

0 投票
2 回答
42629 浏览

signalr - SignalR 如何在内部工作?

谁能让我知道 SignalR 如何在内部以高级方式工作?

我猜它正在使用刷新数据,Response.Flush并且在客户端它以特定间隔发送 Ajax 请求。这是对的吗?

0 投票
3 回答
17305 浏览

c# - SignalR 不在服务器上使用 Session

当我尝试HttpContext从 HUB 访问当前会话时,它会返回null.

我尝试使用该界面IRequiresSession,但没有用。有人能帮我吗?

0 投票
5 回答
92310 浏览

asp.net - 从 SignalR 调用特定客户端

我想从服务器调用特定的客户端,而不是向所有客户端广播。问题是我在一些 AJAX 请求的范围内(比如说在 .aspx 代码隐藏中),而不是在 Hub 或 PersistentConnection 中,所以没有 Clients 属性 - 进行 ajax (jquery) 调用的客户端不是客户端我想发送信号员消息!

现在,我有一个在 JS 页面加载时调用的集线器,它将新客户端注册到服务器静态列表中,所以我有客户端 Guid。但不知道如何使用它将消息从服​​务器发送到特定客户端。

0 投票
1 回答
1316 浏览

c# - Signalr DateTime 请求/响应差异

我正在使用 WCF 数据服务从我的 Web 应用程序“查询”数据模型,但随后我使用 SignalR 接收“推送”更新。

WCF 数据服务 (OData) 将日期格式化为格式为“/Date(1319493384779)/”的字符串。这很好,因为然后我生成客户端 (javascript) 视图模型,在其中创建实际的 Javascript Date() 对象。SignalR 还将 DateTime 对象作为“/Date(1319493384779)/”从服务器发送到客户端,但是当通过 Javascript 从 javascript 传递到服务器集线器方法时,它似乎需要一个实际的 Date() 对象。这是相当低效的,因为我已经在 javascript 中有一个模型对象,我应该能够将它按原样发送到 SignalR 集线器。

有人知道为什么会这样吗?

编辑:这是一条从服务器到达浏览器的消息,注意 CreationDate 的格式 - 在服务器上这是一个 CLR DateTime

集线器到浏览器

这是将对象发送回集线器 - 请注意完全相同的日期格式...此调用失败 浏览器到集线器

这是错误 在此处输入图像描述

如果我像这样格式化日期,它可以工作(Javascript代码):

0 投票
1 回答
2516 浏览

jquery - 重定向到 MVC3 应用程序中的另一个视图后,signalR 连接中断

我正在尝试在现有的 MVC3 应用程序中实现 SignalR,以向所有连接的客户端发送警报。我正在使用持久连接。只是为了测试这一点,我在 _Layout 页面上放置了一个广播按钮。单击广播按钮使用 connection.send($('#msg').val()); 发送一些文本 并被客户成功接收。但这仅在应用加载时从第一页/默认页面广播消息时才有效。一旦页面被重定向,它就会失去连接,点击广播按钮会抛出错误消息“SignalR:必须先启动连接,然后才能发送数据。在 .send() 之前调用 .start()”。请指教。这是我的示例应用程序中的代码: 请注意,当我从 Home 导航到 About 时,连接会丢失。

0 投票
1 回答
3771 浏览

c# - SignalR Hub 未执行指定的 javascript

我在 ASP.Net Web 应用程序项目中使用 SignalR,但遇到了问题。我的目标是在站点的管理方面进行任何更改,导致某些 GridView 刷新。我计划通过发送信号来运行一些 javascript,从而刷新包含 GridViews 的更新面板。

现在的问题是我无法获得我的集线器试图调用以在客户端中执行的任何代码。我在 jquery.SignalR.js 文件中的 FireBug 中收到以下错误,但我不确定如何继续修复它:

抛出此错误后,它看起来仍然在建立连接,但没有执行通过集线器发送的任何 javascript

我在我的站点中设置了以下中心:

我在管理部分的按钮单击事件中有以下代码。调试显示此代码正在由服务器运行:

最后,我的页面中有这段代码,试图在收到信号以确认它正在工作时启动警报。

有没有人知道为什么这不会运行或 FireBug 错误意味着什么?

0 投票
10 回答
32895 浏览

c# - Signalr/Hub 未在 IIS 7 中加载,但在 Visual Studio 中正常工作

我正在使用 SignalR 的 Asp .Net 4.0 框架上开发一个 Web 应用程序,并从 Nuget 包安装它。当我在没有本地调试的情况下调试或运行应用程序时,它可以正常工作。但是,当它被部署到生产服务器时,它无法找到signal/hubs动态注入到 httphandlers 中的文件。由于它的动态特性,它必须动态创建,所以我也不能将工作文件复制到项目中。

我尝试了以下加载文件的方法:

在后面的代码中:

所有这些都在本地工作,但不在服务器上。在 html 中呈现的路径看起来是正确的,但那里没有文件,从而产生 404 错误。如果这很重要,服务器已给予应用程序完全信任,并且该应用程序作为应用程序在 IIS 中使用子域的另一个站点下运行。