问题标签 [signalr.client]

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 投票
0 回答
561 浏览

asp.net-mvc - 是什么导致 SignalR FormatException 无效游标?

我写了一个简单的 SignalR 集线器:

它与 Silverlight 5 客户端一起运行。在大多数情况下它可以工作,但在 5 - 30 分钟后,我收到了来自库的错误:

当我查看数据包时,我看不出成功错误之前的数据包和失败的调用之间的区别。它正在运行 serverEvents 传输,但我尝试 longPolling 无济于事。

服务器中发生异常。

任何想法可能导致上述错误和/或如何解决它?

0 投票
3 回答
701 浏览

signalr - 来自 Silverlight 客户端的持久连接的 SignalR 身份验证

从大约 0.4.0 SignalR 的自定义版本升级,我发现身份验证不再有效。

我有一个 RIA 服务应用程序,带有表单身份验证(基于股票 AuthenticationBase<>)和 HttpContext.Current,从用于携带用户身份的 PersistentConnection 的处理程序访问。在 IIS 日志中,我看到身份仍然通过 RIA 请求传递。

升级到最新的 SignalR,我观察到身份在传入的 HttpContext 或 IRequest 中都不可用。从 Fiddler 日志中,请求被 403 拒绝并且不发送凭据。

将 Connection.Credentials 设置为 new NetworkCredentials() 不会改变任何东西。

查看源代码和完全不充分的文档并没有产生任何见解。如果有人能够运行从 Silverlight 客户端到 ASP.NET 托管的 PersistentConnection 的经过身份验证的连接,我将非常感谢任何指针!

PS:我也很好奇浏览器的网络追踪不再显示 SignalR 的流量,这是怎么回事?

0 投票
1 回答
1306 浏览

.net - SignalR System.InvalidOperationException:超出缓冲区长度

我有一个 .NET 客户端调用集线器上的方法,如下所示:

在 Windows 8 上调试,我收到以下错误:

响应数据非常大,但是当我在 Windows 7 上调试时(我相信连接使用服务器端事件),我没有收到此错误。

这可能是什么原因造成的?

0 投票
1 回答
2632 浏览

signalr - 在 Windows 服务中使用自托管托管 SignalR

我是 signalR 和 Owin 的新手,需要帮助。

我在一个库中编写了所有 signalR 代码[我的集线器将是自托管的]。然后我从 Windows 服务应用程序中引用了该库,在 Windows 服务应用程序中安装了包“Microsoft.Owin.Host.HttpListener”并尝试执行它。我收到了那个有线异常:

序列不包含匹配元素

我在一个 winForm 应用程序中测试了我的库,它工作正常。

我不知道我为什么会这样。

更新:代码示例:在我的库“myLib”中

私有 IDisposable 主机;


我的 SelfHost 课程:

在我的 Windows 服务应用程序中从此库创建对象后:

我实现了 Windows 服务的 OnStart(),它启动了一个从 myLib 调用 Start() 函数的线程:

输出 [Ex-Details]

提前致谢!

0 投票
1 回答
786 浏览

jquery - SignalR PersistentConnection 在 Azure 上 40-50% 的时间无法调用客户端回调方法

背景信息:我正在使用 MVC 4。我在服务器上调用 PersistentConnection SignalR 方法并将其延迟 20 秒,然后再回调到客户端回调方法。在回调方法中,我将 url 设置为 MVC 控制器中的下载方法,以便它启动文件流下载。

问题:这一切在 IIS 7.5 上的本地托管网站上都可以正常工作,但是当我部署到 Azure 云时它非常不一致。我在 Chrome 和 IE 10 上都进行了 10 次测试:在 Chrome 上,40% 的时间下载无法启动,而在 IE 10 上,50% 的时间没有下载。所以发生的事情是 40-50% 的时间没有调用回调方法。我知道是这种情况,因为我在其中放置了 JavaScript 代码以将当前时间打印到页面上,但这也不会触发。以下是 Chrome 和 IE 10 上的网络流量截图:

铬成功: 在此处输入图像描述

铬失败: 在此处输入图像描述

IE 10 成功: 在此处输入图像描述

IE 10 失败: 在此处输入图像描述

在我可以使用这个库之前,我真的需要使用 Azure 对客户端的 SignalR 回调 100% 有效。这是 SignalR 的一个已知错误,还是有其他方法可以将此信号器用于 Windows Azure?

这是我的代码:

服务器:

客户:

包裹清单:

将不胜感激任何帮助!

0 投票
1 回答
652 浏览

asp.net - SignalR 在几乎所有网站页面上聊天

我为我们的公司网站 (ASP.NET) 开发 SignalR (1.1.2) 聊天,但我不知道如何将它放置在几乎所有网站页面上。我有下一个问题:

  1. 当用户移动到其他页面时,用户的在线/离线状态会发生变化。

    在我的聊天状态设置中,我的 Hub 类中的 OnConnected/Ondisconnected 回调执行,并在用户移动到其他页面时调用。

  2. 我应该在所有页面上使用 $.connection.hub.start().done 初始化 SignalR 吗?可能有解决方法吗?

  3. 跨域是什么意思?我不明白这个定义。

  4. 我应该在 Hub 类的 OnReconnected 回调中移动什么逻辑?

提前致谢。

0 投票
0 回答
887 浏览

azure - SignalR SelfHost:从 JavaScript 客户端调用 Signalr 服务器的问题

我通过引用自行托管了一个 SignalR 服务器

未调用 Signalr Owin 简单示例 javascript 客户端”和“ https://github.com/SignalR/SignalR/wiki/Self-host

链接,但是当我尝试从 javascript 调用该集线器时,出现以下错误

“错误:SignalR:加载集线器时出错。确保您的集线器引用正确,例如。”

我的自托管服务器如下所示:

集线器类

创业班

Azure 辅助角色

SignalR客户端如下:

由于工作陷入困境,请尽快提供帮助

提前致谢

0 投票
2 回答
9070 浏览

.net - 立即检测 SignalR Hub 客户端断开连接

对于在不调用Stop方法的情况下崩溃或关闭的 .net 客户端,何时在服务器端引发 SignalR Hub OnDisconnected ?

我正在使用 SignalR .NET 客户端进行测试,而不是 javascript 客户端。如果我在客户端调用Stop方法,Hub 将立即引发OnDisconnected方法。

但是如果我关闭客户端或终止进程,集线器将在大约 10 秒后引发OnDisconnected方法。

如何立即检测到客户端已断开连接?

0 投票
2 回答
3546 浏览

signalr - 从后端业务层调用 SignalR Hub

我有一个 MVC 网站,上面有一些相当庞大的业务对象。我的 MVC 控制器调用管理器对象,这些对象将工作委托给其他对象集。

基本上代码在服务器端,而集线器在某种程度上就像一个控制器,因为它非常接近客户端。

有没有办法根据传递给这些 Manager 对象的 Hub 引用来执行 SignalR 方法?

0 投票
2 回答
767 浏览

angularjs - 如何在 angularjs 中将消息客户端创建为单例

工作流程是这样的:

  • 用户提交某种请求
  • 服务器立即响应“是的,收到您的请求,将处理它”
  • 用户被告知服务器正在处理它
  • 当服务器完成时,它告诉信号器集线器:嘿,我为“这个人”完成了“这个任务”
  • 集线器将消息转发到 angularjs 客户端
  • 客户端将消息广播出去

现在如果用户仍然在同一个视图上

  • 视图控制器处理消息,并更新范围

否则,用户想做其他事情,离开页面等等。

  • 没有人在听消息,所以它被丢弃了

这里有一个例子 http://sravi-kiran.blogspot.com/2013/05/ImplementingSignalRStockTickerUsingAngularJSPart1.html

向 IRC 中的一些人询问 Angular,他们并不特别喜欢在初始化时如何创建客户端,或者它在工厂中,或者回调被转发到工厂中。

一些反馈包括有关 app.run 或服务以及广播事件的内容,都非常模糊。

我应该如何实施这样的事情?我最初认为返回单例的服务很好,但显然不是?好像有更好的方法?