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

asp.net-mvc-3 - 用于asp.net MVC聊天应用程序的signalR vs html5 websockets

我在使用 html5 websockets 或 signalR 进行聊天时陷入两难境地,我们将集成到我们的 asp.net mvc3 应用程序中

我的困境1.如果signalR实现了longpolling,
为什么要使用它? 2.长轮询不好吗? 3.websockets和longpolling完全不同? 4.只有IIS8支持websockets? 5.我可以使用 Html5 websockets 将聊天数据保存到 SQL 数据库中吗? 6.是否有让websockets在IIS7及更高版本上工作的解决方法(我将只使用chrome浏览器) 感谢您的支持





0 投票
2 回答
1879 浏览

asp.net - Signalr 几分钟后停止回调

我在 aspx 页面上使用 signalr 0.4,

集线器定义为:

当我打开页面并立即单击 Button1
时,它调用集线器,集线器又调用页面上的 ShowInfo 功能。
使用 Firebug,我可以看到信号器正在使用长轮询进行通信。所以一切都按预期工作。

但是当我等待几分钟时,
我看到了

  • FooHub 被销毁
  • 在集线器中调用断开连接,

但是在页面上没有新的连接
Firebug 显示旧的连接仍在执行
,当我点击按钮时 -

  • FooFunction 被调用(我在萤火虫中看到了一个新的连接)
  • FooHub 已创建
  • FooFunction 在 Hub 中执行(Log 中有一行)
  • 但未执行 ShowInfo

这是 SignalR 中的错​​误还是我必须做其他事情才能获得 ShowInfo 调用?

更新(可能的答案):

它使用的是 Forever-Frame 而不是长轮询。

此外,这个问题似乎主要发生在使用移动互联网(usb-stick)和 Firefox 时。

将传输更改为长轮询似乎可以解决此问题。

0 投票
3 回答
3974 浏览

signalr - SignalR 持久连接在回显/协商时给出 404

我在使用最基本的示例https://github.com/SignalR/SignalR/wiki/QuickStart-Persistent-Connections时遇到问题。我得到“404 回声/协商”

0 投票
1 回答
1821 浏览

signalr - SignalR:如何在应用程序池回收后重新获取客户端信息

在连接时,我将 clientID 映射到我在静态变量中构建的其他客户端和订阅信息。这工作正常,直到应用程序池回收或我重新编译然后我丢失了我的映射。

应用程序池回收后客户端连接仍然存在,但我在 OnConnectAsync() 或 OnReceivedAsync() 方法中看不到任何内容。

我在 Firebug 中看到我的客户每 4 分钟提交一个新的 POST。是否有一些 SignalR 事件我可以覆盖以捕获传入的 POST 并为当前的持久连接重建我的客户端映射?

谢谢。

0 投票
3 回答
56019 浏览

c# - SignalR:检测客户端上的连接状态

我已经看到了如何通过绑定到 .disconnect 事件来使用 SignalR 在客户端捕获断开连接事件。

既然我已经这样做了,我想将客户端置于“等待重新连接周期”中,它会不断尝试连接,直到连接成功或用户取消。集线器是否公开连接状态属性?我在想类似(伪代码)

0 投票
1 回答
1040 浏览

signalr - 使用 SignalR.Hosting.Self 找不到 404

我有以下服务器代码:

但是当我从我的客户端代码连接到它时:

...它报告:

我究竟做错了什么?

0 投票
1 回答
4408 浏览

javascript - 尝试通过 signalR 发送消息时,客户端为空

我的 MVC 应用程序中有以下集线器,我想从该集线器向我的客户端代码发送一条简单的消息:

在我看来,以下 javascript

我的问题是,当代码调用构造函数或 Send 方法时,Clients 对象为空。

当我调试客户端代码时,一切看起来都很好。/signalr/hubs/ 路由返回 javascript 代码,运行 javascript 时没有错误。

我可以补充一点,后端代码运行在 Umbraco 5 CMS 环境之上,我不确定这是否会造成任何干扰。

关于如何调试/解决此问题的任何建议?

0 投票
3 回答
9910 浏览

c# - 如何在 .net 3.5 中使用 SignalR

我想使用 SiganlR 构建一个 winform 业务解决方案,但我无法在客户端机器上安装 .net 4.0。看起来 SignalR 的最低要求是 .net 4.0。从 winform 和 .net 3.5 使用 SignalR 的最佳方式是什么。我想在客户端应用程序中包含发送/接收消息功能。

我将在服务器端使用 .net 4.0 在我的 Intranet 上的 IIS 上托管 SignalR。

是否可以创建类似于pubnub C#的 API(在 .net 3.5 中) ?谁能指出我正确的方向。

0 投票
2 回答
1118 浏览

nuget - RavenDB 和 SignalR Nuget 包依赖冲突

基本冲突。

SignalR 想要 Newtonsoft.Json 版本 4.0.7 或更高版本,而 RavenDB 想要版本等于 4.0.5。这显然意味着它们不能并排安装。

因此,除了从其中一个下载源代码并在本地找出依赖关系然后必须签入由此创建的二进制文件之外,是否有一种可能的方法来保持使用 NuGet 管理依赖关系,并且可能只是转发 DLL 调用(就像 Mvc 对每个新版本所做的那样)?

0 投票
2 回答
15368 浏览

c# - 如何在 SignalR 中强制断开客户端

我正在测试 SignalR(通过 nuget 为 0.4.0),但找不到任何方法让服务器强制断开客户端。我想我错过了一些明显的东西。

我的测试代码如下,我在几乎所有我能想到的地方和组合中都尝试了 Close() 和 Timeout(),但没有成功。客户端继续接收脉冲消息,尽管我总是在前 4-5 秒内获得 2 次重新连接,这些连接似乎return Connection.Close()来自OnReceivedAsync()

服务器:

客户:

示例客户端输出:

d7615b15-f80c-4bc5-b37b-223ef96fe96c 连接
你好
脉冲
脉冲
d7615b15-f80c-4bc5-b37b-223ef96fe96c 重新连接
脉冲
脉冲d7615b15-f80c-4bc5- b37b
-223ef96fe96c 重新连接
脉冲
脉冲
脉冲
脉冲
脉冲 ...