问题标签 [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 投票
1 回答
3851 浏览

c# - SignalR 拒绝工作

全球.asax:

我的连接.cs

~/Pages/Messages.aspx

错误:

SignalR:必须先启动连接,然后才能发送数据。在 .send() 之前调用 .start()

到目前为止我尝试了什么:

两种解决方案(https://github.com/SignalR/SignalR/wiki/Faq)都没有解决我的问题。有任何想法吗)?谢谢。

0 投票
2 回答
2651 浏览

c# - 在登录时存储用户,然后按需推送数据

所以我正在使用 SignalR,它在我的网站上设置并正常工作。

假设用户 A 登录(我正在使用 Membership API)。当 A 登录时,我正在从位于我的母版页中的 .js 调用连接。这将为此使用分配一个特定的用户 ID。

假设现在用户 B 登录进行了一些事件,并且该事件需要从代码隐藏通知用户 A。

所以我在这里尝试做的是通知用户 B 使用 CodeBehind 中的 A 的操作。用户 B 如何知道用户 A 的 ID 以及整个事情是如何工作的?我在文档中找不到帮助,因为它没有涉及那种东西。

如何做到这一点?谢谢。

0 投票
3 回答
4186 浏览

signalr - 如何修改 SignalR Hub URL

我想使用与~/signalr/hubs. 如何修改此网址,例如修改为~/api/hubs

第二个问题,我可以为不同的集线器使用不同的网址吗?例如:

谢谢。

0 投票
2 回答
6289 浏览

c# - ASP.NET C# SignalR 流到客户端

我有几个 SignalR 基本演示在本地工作(聊天等),我理解推送到服务器然后让它广播到所有连接的客户端。

我的问题是如何利用 SignalR 将数据“流式传输”到客户端。例如,在 NodeJS/Socket.IO 中看到使用 Twitter 流 API 的示例。

那里有任何 SignalR 流媒体示例吗?这怎么可能?

0 投票
1 回答
11547 浏览

c# - 如何使用 SignalR 从 ASP.NET MVC 3 通知 Web 客户端 MSMQ 任务已完成

如何使用 SignalR 在 .NET 4.0 系统中实现通知,该系统由 ASP.NET MVC 3 应用程序(使用表单身份验证)、SQL Server 2008 数据库和 MSMQ WCF 服务(托管在 WAS 中)来处理数据?运行时环境由在 Windows Server 2008 R2 标准版上运行的 IIS 7.5 组成。

我只玩过样本,对 SignalR 没有广泛的了解。

这是一些背景

Web 应用程序接受来自用户的数据并将其添加到表中。然后它调用 WCF 服务的单向操作(使用数据库键)来处理数据(任务)。Web 应用程序返回到一个页面,告诉用户数据已提交,处理完成后将通知他们。用户可以查看“索引”页面以查看哪些任务已完成、失败或正在进行中。他们可以继续提交更多的任务(这与之前的数据无关)。他们可以关闭浏览器,稍后再回来。

基于 MSMQ 的 WCF 服务从数据库中读取记录并处理数据。这可能需要几毫秒到几分钟的时间。处理完数据后,记录会更新相应的状态(错误或失败)和结果。

大多数时候,WCF 服务不执行任何处理,但是当它执行时,用户通常希望尽快知道它何时完成。用户仍将使用 Web 应用程序的其他部分,即使他们没有要由 WCF 服务处理的数据。

这就是我所做的

在主导航栏中,我有一个指示器(类似于 Facebook 或 Google+)供用户在任务状态发生变化时通知他们。当他们单击它时,他们会获得所做工作的摘要,然后可以根据需要查看结果。

使用 jQuery,我轮询服务器以获取更改。控制器操作检查是否有任何进程被修改(完成或失败)并返回它们,否则等待几秒钟并再次检查而不返回客户端。为了避免客户端超时,如果没有更改,它将在 30 秒后返回。jQuery 脚本等待一段时间并再次尝试。

问题

每个查看页面的用户都会降低性能。他们不需要做任何特别的事情。我们注意到 Firefox 7+ 和 Safari 的内存使用量随着时间的推移而增加。

使用 SignalR

我希望切换到 SignalR 可以减少轮询,从而减少资源需求,特别是如果数据库中的任务方面没有任何改变。鉴于它使用基于表单的身份验证,我无法让 WCF 服务通知客户端它已完成处理任务。

通过提出这个问题,我希望有人能让我更好地了解他们将如何使用 SignalR 重新设计我的通知方案(如果有的话)。

0 投票
3 回答
324 浏览

asp.net - .NET 网站中的计时器

所以我正在学习 SignalR,我喜欢将更改推送给多个客户端的想法。我正在构建一个简单的监控站点来学习,并希望每 10 秒左右轮询一次数据库,并将我正在查询的当前状态推送给客户端。为“集线器”对象使用计时器会导致每个客户端连接创建一个新的计时器,这意味着最终所有客户端都有自己的 10 秒计时器,并且集线器不断地向下推送更新的频率远高于每 10 秒一次。

我一直在脑海中提出不同的想法,但想确保这不是一个比我想象的更简单的问题,无论是通过 SignalR 还是为应用程序域。

0 投票
1 回答
1029 浏览

vb.net - SignalR:获取 PersistentConnection 的客户端列表

我搜索了 google、SignalR wiki 和 SignalR 代码本身(例如,广播功能、Signaler 等),但一无所获。

我写了 ClientIDFactory 并成功地将 ClientID 设置为 UserID。它可以工作,但现在用户无法从多个浏览器/选项卡进行连接。

我修改了函数并将随机字符串添加到 UserID。有用。

现在我需要找到一种方法来获取用户的所有连接,将特定的消息发送到特定的 UserID。

我考虑循环客户端列表,并通过 string.split() 找到 UserID,但其他方式可能有用。

我没有使用集线器。只有持久连接。

谢谢,

0 投票
1 回答
3301 浏览

asp.net - SignalR javascript回调不起作用

我有集线器类:

和 javascript:

所有连接都很好: 在此处输入图像描述

如果我在这里使用断点Clients.addMessage(DateTime.Now.ToString("HH:mm:ss") + " " + message); 一切都很好。

但我没有得到 javascript 函数的回调。 警报(“消息:” + 消息);从不执行

0 投票
2 回答
20656 浏览

signalr - 如何停止 SignalR 中的轮询?

有什么方法可以停止 SignalR 中的轮询服务器?如果发生错误,我想停止轮询服务器。轮询集线器以 开头$.connection.hub.start(),所以我认为它可以以$.connection.hub.stop()或类似的方式停止。但这似乎不起作用,即使在调用后轮询仍在继续stop()。还有其他方法可以停止投票吗?

0 投票
1 回答
1577 浏览

c# - 使用 ThreadPool.QueueUserWorkItem 打开一个 TcpClient 连接并在 ASP.NET 和 SignalR 中读取数据

我已经阅读了有关 SignalR 的几篇文章,并考虑了一个有趣的测试项目,我可以创建一个 Web 应用程序来轮询我的 onkyo 接收器的状态并在浏览器中显示结果。对于初始测试,我通过在 Application_Start 中使用以下代码成功地将服务器上的当前时间发送回客户端:

在客户端javascript中,我有以下代码:

所以所有这些都很好。每一秒,我都会得到一个包含当前服务器日期和时间的新列表项。

现在,当我添加此代码以从 Onkyo 接收器读取数据时,它会中断:(仍在 Application_Start 中)

我设置了一个断点并单步执行了代码。它到达这条线,然后返回。

它永远不会完成将消息发送到客户端的其余代码。我究竟做错了什么?

谢谢。