我正在用Durandal编写一个单页应用程序,并计划使用SignalR实现一些功能。首先,我有一个顶部栏,用于侦听服务器可能发送的通知。站点启动到“TopBarNotificationHub”的连接
在其中一个页面上,我想连接到另一个中心,因为两个用户可能同时编辑此页面上的数据,我想通知是否有人更新了数据。没问题,这个很好用
但是,当离开该页面时,我只想断开与第二个集线器的连接,但我找不到实现这一点的方法。如果我只说hub.connection.stop();与eTopBarNotificati
我有一个使用siglanR的测试web应用程序,效果非常好。我需要在一个网站项目中使用信号器-它不能转换为一个web应用程序。我将我的测试代码复制到一个测试网站项目中,但我无法让它工作!我得到“无法读取属性”客户端的“未定义”错误
我已经在配置文件中设置了runAllManagedModulesForAllRequests
这是一个VS2010项目。已成功连接到集线器
我需要做什么才能让它在网站项目中正常工作
谢谢将代码放入App_code中。这很有效。谢谢大家!@我的问题和这个问题很相似。你能
对于实时推送通知,我知道SignaR和服务器在HTML5中发送了事件(EventSource)
无论信号器在做什么,我都可以通过服务器发送事件来实现。
我的疑问是在哪种情况下我应该使用SignaR和SSE
谢谢。支持服务器发送事件
这就是说,SignalR的目标之一是创建传输协议的抽象。它允许开发人员专注于应用程序的逻辑。而不是数据的传输方式。在引擎盖下,信号器将根据服务器和客户端的能力选择适当的传输
在现代浏览器中,将使用WebSocket,而在旧浏览器中,将使用long轮询
更多信息请访问
我正在使用信号器2.2.0。在jquery.signar客户机上,我必须放置一个void函数,以便成功地从客户机调用OnDisconnected事件
前
hubNameHub.client.void=函数{};
MyNamespace.Hub=connection.Hub.start;
MyNamespace.Hub.donefunction{} AFAIK这只是SignalR当前的一个限制,在未来的版本中可能会消失。您至少需要一个客户端事件处理程序才能使服务器端连接事件正常工作。检查并确认。
标签: Signalr
signalr-hubsignalr-backplane
SignalR文档表明,scaleout/backplane在服务器广播类型的加载/实现中运行良好。然而,我怀疑在纯服务器广播的情况下,它会导致重复的消息被发送到客户端。考虑下面的场景:
我有两个hub实例,它们位于我的web服务器场上负载平衡器后面的两个web服务器上
每台服务器上的中心都实现了一个用于数据库轮询的计时器,以获取一些更新并按主题id分组广播给客户端
组/主题的客户机可能在两台服务器之间划分
两个中心实例都将从数据库中获取相同或重叠的更新
现在,由于每个集线器都通过背板向客户端发
标签: Signalr
signalr-hubsignalr.client
在我当前的项目中,我想在子域上构建消息传递系统。假设有buyer.xyz.com和seller.xyz.com,买方和卖方可以互相发送消息,并且没有用户角色,买方和卖方来自不同的表。当买方发送消息时,消息被插入到消息表中,如果指定的卖方当前在线,则应更新,反之亦然。我是新来的信号员。如果可能,请给出代码示例。基本上,最好的入门方法是官方文档:
您应该将Microsoft.Owin.Cors库添加到项目中。然后在startup类中,将只有app.mapsigner()的配置方法修改为以下内容。(
问题:
为什么使用信号器时组无法工作
检查组名中是否未使用冒号。
那是4个小时,我再也回不来了 避免在组名中使用冒号。否则,不会在(javascript)客户端上调用组方法调用
任何日志中都没有错误和消息
只是无声的失败
我正在编写一个流组件,方法是将mediarecorder blob(event.data)发送到信号器集线器,并将相同的blob返回给使用SendAsync方法连接的其他用户。但是,我从hub接收的对象与我传递给hub的对象不同。因为,我的客户端JS代码不像event.data对象那样识别它。
我的问题是对象在传递到hub后将如何更改?以下是hub代码,以及我如何在收到hub返回后将其转换为初始值
public async Task SendBlob(Object blob)
我正在研究SignalR,这是一种在web应用程序上管理客户端之间消息传递的可能方法。场景是一个人创建一个会话/会议室,其他几个人加入其中。然后房间里的每个人都会互相发送信息。很像聊天室,但他们会发送可变的更新消息等
现在我一直看到它说不应该使用静态变量,这一点我完全同意,但是如果它在每个请求中创建一个新的中心(由于消息类型不同,我计划使用一个中心),它如何存储每个客户机所在的组?我建议您在这里查看项目的源代码。这个项目一直很好,正如你所希望的
您还可以在这里查看标题“在特定客户机或组上调用
我有一个聊天室,使用SignalrHub发送消息。偶尔,我会从用户那里收到报告,它“冻结”。现在这可以解释为没有消息通过,我怀疑,因为它们是从一个组中删除的
我的问题是,连接是否会自动重新订阅到其组中,或者您是否必须自己在重新连接方法中执行某些操作:
public Task Reconnect(IEnumerable<string> groups)
{
return Clients.rejoined(Context.ConnectionId, DateTime.Now
我对我与Signal的软件设计有一些疑问
通常我从以下代码开始:
var connection = $.hubConnection();
var notifier = connection.createHubProxy('notifier');
connection.start()
.done(function () {
//alert('connection was succesful');
/
我正在尝试确定如何让Signaler正确地提出jQuery的fail方法
目前,我正在实现以下目标”
然后在客户端的js中,我正在这样做
$.connection.myHub.joinChat(this.username)
.done(//success callback)
.fail(//fail callback);
我觉得让集线器生成一个异常来实现延迟服务器上的故障并不是一个理想的方法,但是我一直无法找到合适的方法来
作为一个测试示例,我有一个hub public方法,它有一个长时间运行的循环
public class testhub : Hub
{
public void looptest()
{
while(true){ <do something> }
}
public void chatmsg()
{......}
}
公共类testhub:Hub
{
公开测试()
{
while(true){}
}
公共无效chatmsg()
{......}
}
客
信号机曲柄负载测试工具中的batchsize参数是什么
另外,请帮助我了解函数“connectbatch”在做什么?据我所知,它只是基于输入参数“clients”创建了n个客户端连接?BatchSize用于定义在一个批中创建的连接数。
一旦达到批量大小,Crank将等待所有已创建客户端的成功连接,然后再继续
Crank(和一般的Signal)严重依赖TPL和async/await。这允许在一批中创建大量请求
我是信号员的新手,我理解为什么当我关闭窗口时,会调用OnDisconnected,而Identity.Name是空的
以及索赔等
override Task OnDisconnected()
{
Context.User.Identity.Name
var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;
string id = identity.Claims.Where(c => c.Type == Use
我让SignalR与Angular客户端一起工作,但是如果在订阅事件之前建立了连接,我就无法让proxy.on()工作
我的服务器方法在两个集线器上调用客户机方法pushToClient
var connection1 = $.hubConnection(); //Works fine since I started connection AFTER subscribing
var proxy1 = connection1.createHubProxy('clientPushHub');
pro
我可以使用…创建signalr,它在Android emulator中工作得非常完美,。。但是当我在KitKat tblet 4.4.2上尝试它时,我有一个错误,CPU abi不兼容,我在这里缺少了什么
提前感谢,这救了我的命,。。问题似乎出在预构建的jar上,你必须修改它
标签: Signalr
asp.net-identitysignalr-hubsignalr.clienthttp-token-authentication
Context.User.Identity.GetUserId()和Context.User.Identity.Name在signalR中的AppHub.cs(Hub)中返回null。在本文中,我在身份框架中使用基于令牌的身份验证 似乎是身份验证问题,而不是信号器问题。你登录了吗?是的。。使用令牌登录。。。对于使用查询字符串传递该令牌的信号器。除了查询字符串之外,是否有任何方法可以传递令牌?似乎是身份验证问题,而不是信号器问题。你登录了吗?是的。。使用令牌登录。。。对于使用查询字符串传递该令牌的
标签: Signalr
signalr-hubasp.net-core-signalr
尝试按照下面链接中的建议将JWT令牌传递给我的信号器集线器,但到目前为止,它不起作用。具体见David Fowler于2017年7月22日提出的建议
我的前端是React,因此我只需将令牌添加到查询字符串中,如下所示,\u令牌具有我的JWT令牌值:
const connection = new signalR.HubConnectionBuilder()
.withUrl("/myhub?AUTHORIZATION=" + _token)
.configureLogging(si
标签: Signalr
signalr-hubsignalr.client
请问,有谁能举例说明如何在windows应用程序中实现signalR。
我需要在服务器端启动时显示一个消息框
thnx很多连接的启动方法是一种异步方法。您必须调用Task类的ConinueWith方法
var connection = new HubConnection("http://localhost:port-no");
IHubProxy hub = connection.CreateProxy("hub-name");
connection.Start().ContinueWith((
标签: Signalr
windows-8.1iis-8virtual-directory
我在IIS中设置了两个站点。结构如下:
Application Pools
Sites
-> LogService.WebUI (port 80)
-> assets
-> bin
-> Service References
-> notifications (virtual app)
-> LogService.Notifications (port 81)
-> bin
我已经从github下载了用于android的signalR客户端,即SignalA。但是我无法在eclipse中导入SignalA.longPolling项目。谁能告诉我出了什么问题?我刚刚从github下载了存储库并导入了它,但它没有编写。SignalA使用Android Studio和Gradle。源代码不再与Eclipse兼容。也许你可以用maven在你的项目中加入SignalA 谢谢Erik提供的信息,rite现在我正在使用SignalR客户端来实现我的eclipse及其工作。你能给我
我正在试验托管在asp.net MVC5应用程序中的SignalR,在检测web客户端的授权失败时遇到问题
我有一个简单的集线器,如下所示:
public class ChitChat : Hub
{
[Authorize]
public string Hi(string incoming)
{
Clients.All.echo(incoming);
return "Echoed " + incoming;
}
}
在网页上:
我正在考虑在我的系统中使用信号R
我的系统的每个用户都观察一小部分数据
例如,Fred smith(用户ID 1)可能想知道黄金的价格
UserID2想知道黄金和白银的价格
一整天都会有数百种价格通过市场
由于我的系统中有一个新的价格,我想看看登录的用户,看看他们中是否有人关心进来的价格
如果用户关心,我想将价格发送到客户端实例
我不想通知所有的信号R客户时,每一个价格进来,因为这将是太多的数据
我假设这依赖于能够存储客户端生成的内容,然后通过连接将其传递到集线器
信号R支持这一点吗?我看不到任
标签: Signalr
azureservicebusservicebus
我计划将Azure服务总线和信号器用于聊天应用程序。
是否可以获取一段时间内的消息历史记录?
哪种类型的服务总线最适合于此(队列、主题、中继)?无。服务总线消息在接收和完成后消失
请看一下事件中心。事件中心在给定的最短时间间隔(例如7或14天)内保存事件,因此消费者可以在需要时重新获取它们
但是没有时间搜索。如果需要索引粒度搜索,则必须将事件复制到某种数据库,例如Cosmos DB。谢谢您的回答。I'w read in docs:事件集线器不实现服务总线消息传递实体可用的一些功能,例如主题。如何
看起来GlobalHost.HubPipeline.EnableAutoRejoiningGroups已在1.0最终版本的Signal中消失
但是,在发行说明中没有提到它的去向,也没有关于如何恢复此功能的线索
有人知道发生了什么吗?在源代码树中找到了注释:
已从管路中删除启用自动重新连接。默认情况下,此功能处于启用状态。在源代码树中找到注释:
已从管路中删除启用自动重新连接。默认情况下,此功能处于启用状态。您可以在发布说明->上找到我发布此内容时发布说明中未明确的注释。您可以在发布说明->上找到
标签: Signalr
signalr-hubsignalr.client
我想将数据发送到我的控制台应用程序,它与我的“someHub”有连接。我试着按照来自的示例中描述的那样做,但没有得到任何结果。
服务器端代码:
[HubName(“somehub”)]
公共类SomeHub:Hub
{
已连接的公用覆盖任务()
{
//在这里,我想在我的sonsole应用程序中发送“hello”
Clients.Caller.sendSomeData(“hello”);
返回base.OnConnected();
}
}
客户端代码:
公共类提供程序
{
保护轮毂连接;
私有
我已将ASPNET MVC 4.0应用程序中的SignalR更新为2.0,现在收到以下错误:
指定类别中不存在计数器“消息总线消息发布总数”
错误被抛出
app.MapSignalR();
这是我现在在Startup类中使用的代码(以前我使用RegisterHubs)
public static class Startup
{
public static void Configuration(IAppBuilder app)
{
var signalrDepen
如何使用角度为2的信号器
从信号器接收数据时如何手动运行更改检测?就示例而言,可能还没有。欢迎来到框架的开头。但是,随着时间的推移,一定要不断检查,因为随着普及率和采用率的提高,肯定会有很多例子
至于运行变更检测,这是一个非常模糊的问题,因为angular2的变更检测现在非常不同,并且有了很大的改进
我的方法是让angular2处理它,而不是触发手动更改检测,因为大部分时间angular2都会接收更改并重新渲染视图
如果不起作用,则下一步是在NgZone
例如:
import {NgZone,
标签: Signalr
signalr-hubasp.net-core-signalrazure-signalr
我创建了一个AzureSignal实例和两个客户端应用程序。一个是MVC5、.NET4.7.2应用程序,另一个是.NETCore2.2。我已经在这两个系统中创建了一个完全相同的信号集线器
public class MessageHub : Hub
{
public void Send(ApplicationEvent evt)
{
// broadcastMessage must be a javascript method
标签: Signalr
asp.net-core-3.1aspnetboilerplate
我想让我的函数每2秒发送一次数据,或者在数据库表中发生更改时发送一次数据,但问题是我下面的代码中存在异常keep appread
例外情况详情如下:
'Cannot access a disposed object.
所以问题出在Timer Manager或myHub中,或者我用Timer Manager模拟实时数据的方式是不可接受的 一旦退出hub方法,就不能保证能够访问Clients属性。如果您想做类似的事情,您应该将IHubContext注入到Hubs构造函数中并使用它。您可以在中阅读有
我正在MVC4应用程序中使用Visual Studio 2012 Ultimate RC、SignalR 0.5.1和Jquery 1.7.2
我看过:
但它不会影响我的问题(我正在使用IIS Express进行调试)
当我尝试使用signar时,$.connection变量未定义。我的服务器端代码:
[HubName("tenantHub")]
public class TenantHub : Hub
{
...
void TenantChange(CrudAction act
我有一个SignalR项目,它在我的开发环境中正常工作,但一旦它被转移到生产环境中,几乎每个调用都会因错误而失败
ConnectionId的格式不正确
我在StackOverflow上看到了一些关于同一错误消息的其他项目,但没有一个解决方案能起到帮助作用
我使用的是Signalr2.0.2,实际上是一个使用SQLServer进行协调的SignalR负载平衡器
事件代码:3005事件消息:发生未处理的异常。
事件时间:2014年11月2日9:11:27下午事件时间(UTC):2014年12月2日3
标签: Signalr
signalr-hubsignalr.client
我正在尝试从使用Signal R1.x tgo Signal R 2.x迁移我们的ASP.Net MVC应用程序。我刚刚发现了一个问题,它肯定会给我们的前进带来问题
我们的web应用程序基于MVC,并且大量使用HttpContext.Current.Session变量。
当使用Signalr1.x运行时,会话中的一切都很好
当我们升级到Signalr2.x时,会话突然为空
我在谷歌上搜索了一下,找到了关于这个问题的以下链接:
进一步的调查揭示了以下信息:
我可以想象,这将破坏大量基于ASP.
标签: Signalr
signalr-hubsignalr.client
我在使用SignalR 2.0.3库时看到一些奇怪/意外的行为
我正试着给客户打电话,他们似乎没有被解雇。
我真的很想让重新连接、重新连接和断开连接的回调在JS客户端工作。
SignalR连接成功,我已经在服务器和客户端之间进行了通信
这里有几个代码片段:
$.connection.reconnecting = function () {
alert("reconnecting");
};
$.connection.reconnected = function () {
aler
自托管signalr的最佳扩展点是什么?添加一些代码以返回其他内容(例如,hub方法列表及其模型描述),就像/signalr/hubs返回带有自动生成代理的javascript一样。用
app.Map("/api",
builder =>
builder.Run(context => Task.Run(() =>
context.Response.Write(
我对决定连接哪个集线器或不使用信号器的规则感到困惑
在javascript中,如果我编写$.connection.hub.start(),并说我有两个集线器(hub1和hub2),那么哪个集线器连接?或者两者都已连接?两者都将连接。如果您查看文档:
您可以在一个应用程序中定义多个中心类。执行此操作时,连接是共享的,但组是分开的:
所有客户端都将使用相同的URL与您的服务建立信号器连接(“/signal”或您的自定义URL,如果您指定了一个),该连接将用于服务定义的所有集线器
与在单个类中定义
标签: Signalr
azure-web-rolessignalr-hubwebrole
如何从web角色连接到信号器集线器
我有一个连接到事件中心的webrole,所有事件都可以正常接收,但是当我试图通过我的SignalR中心将此数据传递到网页时,我在该页面上没有得到任何信息,没有错误,也没有数据,我使用以下方法连接到中心
var hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
hubContext.Clients.All.SendServerTime("Data To Send");
在这一点上我真的很困惑,我有一个页面,我用它来收集关于在我的web应用程序中调用什么方法的数据。当我从VisualStudio运行我的应用程序时,没有问题,一切都很好,我的所有服务器和客户端方法都按预期运行
但是,当我将此应用程序部署到在windows server 2008上运行IIS 7.5的Web服务器上时,R2 SP1 my client-side方法不会一直启动,一切看起来都运行正常。但触发客户端事件从未发生
客户端Javascript:
var nlog = $.connection
标签: Signalr
webassembly Blazor
asp.net-core-signalrblazor-server-side
如果您想移植一个“遗留”ASP.NET应用程序,该应用程序通过System.data.SqlCient方法从远程SQL Server实例获取数据,该方法运行在HttpHandler的代码后面(从服务器返回的数据被jsonified并注入UI小部件,例如kendoUI),什么是合适的Blazor托管模型
Blazor server-side
Blazor ASP.NET Core Hosted
Blazor client-side
从Visual Studio 2019 Pre
我对最基本的例子有困难。我得到“404 on echo/negotiate”这个例子已经过时了。
这是因为默认的MVC项目调用RegisterRoutes(RouteTable.Routes)
您必须将MapConnection移动到RegisterRoutes内部,在routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”;之后,但在任何其他路由之前
我希望这有帮助我在尝试实现基本持久连接示例时遇到了完全相同的错误,我花了很长时间才意识到这是由于Newto
标签: Signalr
load-balancingstickyaffinity
我遇到以下情况:用户使用PC登录ASP.NET MVC4应用程序。此应用程序在负载平衡器后面的多个IIS服务器上运行。在此之后,在服务器和客户机之间建立信号机连接。当用户登录到此主应用程序时,可以使用平板电脑或手机(可以是不同的网络)添加第二个屏幕。在这里,用户还登录并获得信号器连接
在服务器上的应用程序中发生一种类型的事件,必须通过信号器将此事件发送到两个设备。因此,需要将两个设备连接到同一台IIS服务器
我根本没有使用负载平衡器的经验。
我是否可以强制一个负载平衡器让一个用户使用多个设备,始
在过去的10天里,我被信号机的一个问题弄得头破血流
我将hub作为控制台应用程序中的自主机。它在本地系统中托管时工作正常,如下所示
$.connection.hub.url = 'http://localhost:8080/signalr';
$.connection.hub.logging = true;
$.connection.hub.start()
.done(function () { alert("Now connected!"); })
.fail(function () { al
为我的公司开发我的第一个信号器原型
当我试图调用服务器函数“GetChatUsers”时遇到的问题是,当我通过JS调用该方法时,在服务器执行“ChatUser”的“Return”之后,我立即得到一个异常“在收到调用结果之前连接已断开”。反对
我正在使用对该方法的同步调用,并且我已逐步完成了请求,以确保返回IEnumerable对象。一旦服务器实际传递给客户机,客户机将进入方法调用的“.fail”方法,并显示异常。我不知道为什么会发生这种情况,但我已经构建了服务器端和客户端逻辑,类似于“GetAl
标签: Signalr
signalr-hubsignalr.client
我用SignalrHub聊天,效果很好。
现在我想做的是,如果成功发送消息,服务器应该向客户端发送通知。我该怎么做?
谢谢 为了确保消息成功到达客户端,在接收消息的客户端方法中,您应该调用服务器方法来确认消息
例如,在服务器上,您有
Clients.All.hello();
在客户机上,您应该执行以下操作:
myHubConnection.client.hello = function () {
//do your stuff
myHubConnection.server.
我有一个signal应用程序,它是一个自托管Windows服务中心
我的javascript客户端在index.html中有:
<script src="http://localhost:8080/signalr/hubs"></script>
但是Windows服务并不总是在运行。因此,如果它没有运行,并且我尝试加载index.html,则会出现以下错误:
Uncaught Error: SignalR: Error loading hubs. Ensure yo
我对信号员很陌生。我读过这篇文章
试着做一些测试。当测试没有跨域时,测试是成功的。然而,如果我让它跨域,它似乎并没有连接,我不知道为什么。我在这个网站上看到了一些类似的问题,但我的问题似乎不在讨论的场景中
这是我的简单启动:
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Microsoft.Owin.Cors;
using Owin;
[assembly: OwinStartup(typeof(H
标签: Signalr
signalr-hubsignalr.clientsignalr-2
我没有想到这一点,但这段代码正在向所有客户发送游戏模型。我需要使用此控制器操作中的GameID,并且只针对观看该游戏的客户。我该怎么做
发布控制器操作
public UpdateGameResponse UpdateGame(int gameId)
{
...
var model = Game.Create(XDocument.Load(httpRequest.Files[0].InputStream)).Parse();
GlobalHost.Con
SignalR ChatHub被定义为控制器
[Route("{tenantName}/chatHub")]
public class ChatHub: Hub
在启动配置方法中
app.UseSignalR(routes =>
{
routes.MapHub<MessageHub>("/dev/chatHub");
});
app.usesigner(路由=>
{
routes.MapHub(“/dev/chatHub”);
});
这在开发环境中运行良好
我的问题是
这是如何做连接部分
componentDidMount() {
const hubUrl = "https://192.168.1.106:45455/messagingHub";
const connectionHub = new signalR.HubConnectionBuilder()
.withUrl(hubUrl)
.configureLogging(signalR.LogLevel.Information)
.build();
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 24 页