问题标签 [signalr-hub]

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 回答
301 浏览

system.reactive - 使用 signalR 集线器时出现 Rx 未定义错误

我正在尝试使用 signalR 集线器实现推送通知。我有一个示例代码,当我运行它时,我收到一条错误消息说 JavaScript 运行时错误:'Rx' is undefined

此错误出现在动态信号器/集线器文件中。我已经添加了所有必要的 Javascript 参考,即 jquery、signalR 和 signalr/hubs。

我错过了什么?

我的代码看起来像这样:

Global.asax 文件有这个

我的 Hub 是这样定义的

我的客户在 javascript 中是这样的

我还在客户端中添加了所有必要的 js 引用。我从这里挑选了这个样本 这够了吗还是我错过了什么?

谢谢

0 投票
2 回答
12317 浏览

c# - Signalr - 加入多个组

编辑:David Fowler 要求提供完整代码以尝试复制问题。这是完整的代码

除了这里转载的代码,我还上传了完整的Visual Studio 2010解决方案到以下网址

http://www.sendspace.com/file/lfeurf(网址现已过期,不再有效)

请随时下载并测试它。

这是我的发现

  1. 在 Hub 代码中仅添加一个组将使应用程序正常工作,没有问题
  2. 添加 2 个组将阻止信号器工作或仅在一个方向工作。即:消息将从浏览器1传输到浏览器2,但不会从浏览器2传输到浏览器1

原始问题:我在 MVC3 网站中使用 Signalr 1.0.0-rc1。我的客户有时需要属于多个组。这是我的集线器和客户端javascript中的代码

客户端 javascript 和 HTML

服务器端集线器

上面的代码应该在每个客户端第一次连接时添加两个组,但它不起作用。我使用调试器单步执行了 C# 代码,没有抛出任何错误。我也没有看到使用 Chrome 控制台的任何 javascript 错误,但客户端上没有调用 Send 函数。然后我更改了 AddGroups() 方法以仅添加一个组,如下所示

现在我的应用程序完美运行。如何添加第二组?看来我误解了加入多个组。谁能告诉我正确的方法吗?

0 投票
1 回答
1227 浏览

asp.net-mvc-3 - SignalR Hub's Groups dont work with long polling

I have a Web App(.NET 4.0 ASP.NET MVC3) which uses SignalR(1.0.0 alpha 2) with Hubs and Persistent Connections.

With the Hubs I use groups to send push notifications to some clients.

The problem is that when the server is accessed remotely it defaults to long pooling and only the persistent connections work. With hubs the event happens on the server but my callback is not called at the client. It works locally, though it uses SSE.

What I found is that the combination of Grouping the clients and the long pooling transport is causing the problem. I will try to debug SignalR as long as I get VS2012.

To prove this I just got this chat example modified so a hard-coded group was used and long pooling was forced - it does not work, neither on my machine (IISExpress) nor on a server (IIS 7.5). The chat works as long as you use a different transport OR do

instead of

Here is a sample project.

Is that a bug in SignalR or I'm missing something?

Any ideas why on my deployment server SignalR would fall back to long polling on port 80 but use SSE if my site is configured on a different port?

0 投票
0 回答
2328 浏览

asp.net - SignalR 回退到端口 80 上的长轮询

有谁知道为什么在部署服务器(Windows 2008 R2 64bit,IIS7.5)SignalR(1.0.0.0 rc1)上会退回到端口 80 上的长轮询,但如果站点配置在不同的端口上则使用 SSE?

我不接触软件——只需将站点的绑定更改为端口 8081 并查看客户端日志。

端口 80:

端口 8081

0 投票
1 回答
902 浏览

signalr - 遍历 SignalR 客户端

我对 SignalR 很陌生。我试图寻找解决方案但没有成功。有没有办法遍历 SignalR 中的客户端?也就是说,我需要检查每个客户端的状态,并根据它来决定做什么。

谢谢

0 投票
1 回答
1740 浏览

signalr - SignalR MVC3 网站和 WPF 客户端

我在 IIS Express 上设置了一个 SignalR 集线器和一个带有标准聊天示例应用程序的示例网站。它在浏览器中运行良好,我可以看到同时在不同浏览器中显示的消息。不幸的是,我在获得类似于在 WPF 中工作的东西时遇到了障碍。

我已经设置了聊天示例作为基础。最终,我需要服务器将更新推送到所有连接的 WPF 客户端。有人能告诉我哪里出错了吗?

中心:

WPF示例类:

当前的实现在以下方面给出了以下例外:

0 投票
4 回答
33698 浏览

asp.net - 将 SignalR 连接映射到用户

考虑一个像 facebook 这样的 Web 应用程序,它可以向用户发送实时通知。

使用asp.net SignalR跟踪哪些连接 ID 属于哪个用户,即使用户断开连接或稍后重新连接,最好的方法是什么?

0 投票
2 回答
11829 浏览

signalr-hub - 未调用 SignalR JS 客户端方法

我无法让 SignalR 服务器端集线器代码调用 JS 客户端方法。反过来工作正常 - 所以当我的客户端向服务器发送消息时,它会按预期传递。我一直非常小心地避免明显的陷阱,但我想我仍然忽略了一些东西。这是我的代码:

来自 MessageHub.cs:

Javascript:

如上所述,我找不到任何明显的设置缺陷,但这里有一些可能相关的点:

  • 建立连接并调用服务器端方法。
  • 这可能无关紧要,但我尝试过强制不同的传输而不改变行为。
  • 客户端方法名称在任何时候都不会与服务器方法名称冲突。
  • 我还尝试将消息发送到特定的客户端连接(在这种情况下,这实际上是目标)。
  • 我在客户端和服务器上都启用了日志记录,但在这两种情况下都看不到任何相关内容。

那么,鉴于上述情况,我是否遗漏了一些明显的东西?如果不是,那么识别故障点的最佳方法是什么?

PS这与问题没有特别相关,但是,由于某种原因,Fiddler 不再捕获来自我的任何浏览器的任何流量,这使得调试 WS 或 HTTP 流量有点挑战性 - 我猜这是 Windows 8 的事情。 ..

0 投票
1 回答
1899 浏览

signalr - “Uncaught TypeError: Cannot read property 'queue' of undefined”在主干和 signalR 集成期间发生

我有一个 signalR 服务器队列 hab。当在我的 SearchResultListItemView 视图中单击按钮时,我正在尝试启动服务器并向服务器发送消息。但无法工作,我收到错误“Uncaught TypeError: Cannot read property 'queue'”。

这是我的 SearchResultListItemView 视图,当点击事件发生时,我必须在其中调用 signalR 服务器。我只想在点击时向服务器发送一些价值。然后我将向所有其他客户端发送响应以加载更改。我怎样才能做到这一点?或者这里有什么问题?

这是我的 SignalR 服务器:

0 投票
11 回答
65982 浏览

c# - SignalR 无法读取未定义的属性客户端

我正在尝试将 SignalR 添加到我的项目(ASPNET MVC 4)中。但我不能让它工作。

在下图中,您可以看到我收到的错误。 图片 我已经阅读了很多 stackoverflow 帖子,但没有一个可以解决我的问题。

这是我到目前为止所做的:

这是我的 Index.cshtml

这是我的 IServerHub.cs 文件(位于 Hubs 文件夹内)

这是 map.js

我看到的 SignalR 参考的 DLL 是:

  1. Microsoft.AspNet.SignalR.Core
  2. Microsoft.AspNet.SignalR.Owin
  3. Microsoft.AspNet.SignalR.SystemWeb

任何想法如何让它工作?由于脚本位于 /Script/lib 文件夹中,我应该进行任何更改吗?

注意 我正在按照此处找到的关于如何设置 Windsor Castle 以使其与 SignalR 一起使用的说明进行操作,而且似乎无法创建代理并且我遇到了同样的错误:

表示未创建集线器的代理

这就是我在服务器中的方式

在客户端像这样

同样,我可以在这里看到动态创建的文件:

那么,为什么没有创建代理呢?