草庐IT

Signalr-Redis

全部标签

c# - SignalR:使用 GlobalHost.ConnectionManager 发送数据不起作用

我有一个这样的集线器:publicclassMessageHubBub:Hub{publicvoidServerMethod(){Clients.All.sayHi("hello");GlobalHost.ConnectionManager.GetHubContext().Clients.All.sayHi("Hello");}}我的(相关的)javascript看起来像这样:$.connection.MessageHubBub.client.sayHi=function(message){console.log("Hello");};$.connection.hub.start().

c# - 在 SignalR 中传递强类型集线器

我刚刚更新了一些SignalR引用资料,为了允许通用类型的集线器,事情发生了一些变化Hub.在现有的示例和文档中,例如:Server-Broadcast-with-Signalr我们有一个静态类通过以下机制保存对客户端的引用:publicclassStockTicker(){privatereadonlystaticLazy_instance=newLazy(()=>newStockTicker(GlobalHost.ConnectionManager.GetHubContext().Clients));IHubConnectionContextClients{get;set;}pri

c# - SignalR 在 ASP .Net 5 RC-1 中不工作

我似乎无法让SignalR3在从Beta8升级的ASP.Net5RC-1上运行。我为SignalR尝试了最新的RC1包,但遇到了以下问题。我尝试了"Microsoft.AspNet.SignalR.Server":"3.0.0-rc1-15810"包services.AddSignalR();导致以下错误:Thetype'IServiceCollection'isdefinedinanassemblythatisnotreferenced.Youmustaddareferencetoassembly'Microsoft.Extensions.DependencyInjection.Ab

c# - SignalR C# MVC 将匿名用户映射到客户端 ID

问题:如何管理匿名用户,以便当Hub发出响应时,单个浏览器中的多个选项卡全部更新?场景如下:我想将SignalR集成到一个项目中,以便匿名用户可以与运算符(operator)实时聊天。显然,已通过iIdentity进行身份验证的用户是通过Client.User(username)命令映射的。但是目前说一个匿名用户正在浏览site.com/tools和site.com/notTools我不能只用一个connectionID向所有选项卡发送消息。只有一个选项卡收集响应。我曾尝试使用IWC补丁,但该工具无法将聊天信息保存到数据库中,而且我认为通过ajax传递变量并不是读取/写入数据库的安全方

c# - SignalR - 在部署到服务器时工作,但在几个小时后停止(MVC)

编辑:查看这篇文章的底部以获取更新。我的SignalR实现在我的本地系统上运行完美。但是当我将它部署到我的服务器时,它似乎不起作用。它是一个MVC项目。我的signalRjQuery如下:varclientHub=$.connection.gamehub;$(function(){varsignalRHubInitialized=false;varimage=$("#Ico");varcount=0;initializeSignalRHubStore();functioninitializeSignalRHubStore(){if(signalRHubInitialized)retur

c# - SignalR:检测 C# 客户端中的事件连接

我目前正在使用SignalR(2.1)Hub开发应用程序。我有1个WPF客户端,另一个是WCF客户端。一切正常,因为它们完美地传递了消息。我现在面临的唯一问题是,我注意到当应用程序因自动重启、WCF服务器关闭和其他一些原因而关闭时,OnDisconnected根本没有被触发。超时默认为30秒。即使过了1天(我试过)也不会调用它。但是,超时适用于Web客户端。它仅在我调用hub.connection.stop()时有效。然而,当客户端是浏览器时,Ondisconnected方法非常有效。因此,我想问一下,SignalRHub端是否有任何方法能够检查客户端是否仍然连接或已经断开(例如pin

c# - HttpContext 和 SignalR HubCallerContext 之间的统一静态类

我有很多代码依赖于HttpContext.Current,我注意到来自SignalR集线器的请求有HttpContext.Current==null,所以我的代码中断了,例如:HttpContext.Current.Request.IsAuthenticated所以我想到了以下内容:publicstaticclassUnifiedHttpContext{privatestaticHubCallerContextSignalRContext{get;set;}privatestaticintSignalRUserId{get{returnWebSecurity.GetUserId(Sig

c# - OWIN + SignalR + Autofac

取自:http://docs.autofac.org/en/latest/integration/signalr.html:“OWIN集成中的一个常见错误是使用GlobalHost。在OWIN中,您从头开始创建配置。在使用OWIN集成时,您不应在任何地方引用GlobalHost。”这听起来很有道理。但是,应该如何解决IHubContext来自ApiController,像往常一样(非OWIN):GlobalHost.ConnectionManager.GetHubContext()?我在任何地方都找不到关于这个的引用,我现在唯一的方法是注册HubConfiguration同一个容器中的

c# - 如何从外部调用 SignalR 集线器方法?

这是我的Hub代码:publicclassPusher:Hub,IPusher{readonlyIHubContext_hubContext=GlobalHost.ConnectionManager.GetHubContext();publicvirtualTaskPushToOtherInGroup(dynamicgroup,dynamicdata){return_hubContext.Clients.Group(group).GetData(data);}}我想用这段代码在另一个项目中调用这个方法:varpusher=newPusher.Pusher();pusher.PushTo

c# - SignalR 组 - 在客户端或服务器上处理过滤?

我已经阅读了大量有关SignalR中心和组的文章。特别是,我注意到您无法计算特定组中的连接数。组的过滤是在客户端还是服务器上处理的?如果是服务器,为什么SignalR不能公开计数?如果在客户端,有没有办法只向特定客户端发送消息? 最佳答案 当您向一组特定的特定连接发送消息时,服务器上会进行过滤(没有过滤,您只是在处理那个连接或组)。SignalR基于pubsub,因此本身没有连接列表。如果你想跟踪连接列表,那么你必须处理连接和断开事件并将它们保存在内存或一些持久存储中。我们不给您连接列表的原因是因为我们存储的任何状态都会影响跨节点扩