草庐IT

SignalR-Objc

全部标签

c# - 应用程序池回收时的 SignalR 连接处理

我将SignalR(0.5.3)Hubs用于聊天应用程序,其中每次击键都会发送到服务器(保存在数据库中),中继到所有客户端并发送返回值(某种字符串标记)从服务器返回。它工作正常,直到应用程序池回收,然后它停止将击键中继到所有客户端(我想是因为内存中服务器状态丢失)并且服务器也不会返回任何值。在这一点上,我假设所有通过SignalR的请求都由IIS排队,然后在应用程序池被回收后进行处理。我的问题是如何处理这种情况,以便所有客户端都知道由于应用程序池回收导致服务器不可用/延迟,通知用户等待一段时间,然后在重新连接时恢复操作? 最佳答案

c# - SignalR:加载集线器时出错

Signalr不加载我的集线器:SignalR:Errorloadinghubs.Ensureyourhubsreferenceiscorrect,e.g..我在启动配置中调用app.MapSignalR();。我添加到我的cshtml:$(document).ready(function(){window.hubReady=$.connection.hub.start();}); 最佳答案 确保你的启动类有这个属性:[assembly:OwinStartup(typeof(MyStartupClass))]您也可以在web.con

c# - SignalR - 检查用户是否仍然连接

我有一个集线器,其方法称为客户端。此方法使用每10秒运行一次的委托(delegate)启动计时器。如果没有人连接到集线器,则继续运行此委托(delegate)是没有意义的,因此我想在重新安排它之前检查是否仍有用户从委托(delegate)内部连接。有什么办法吗? 最佳答案 可能最常用的解决方案是保留一个静态变量,其中包含当前连接的用户并覆盖OnConnect和OnDisconnect或实现IDisconnect您使用的版本。你会实现这样的东西:publicclassMyHub:Hub{privatestaticListusers=n

c# - 找不到动脉 SignalR/ping MVC 4

我正在使用MVC4、C#、具有存储库模式的EntityFramework,并且我安装了Elmahnuget包。我已将Elmah设置为在出现应用程序错误时发送电子邮件,从那以后我收到了:System.Web.HttpException:Thecontrollerforpath'/3582be999d2646eca85b82b5302fc0af/arterySignalR/ping'wasnotfoundordoesnotimplementIController.Generated:Tue,05Nov201314:43:21GMTSystem.Web.HttpException(0x800

c# - 使用 MassTransit、RabbitMQ 和 SignalR 的分布式架构

我正在MassTransit的帮助下开发分布式应用程序和rabbitmq我必须提供在网页上生成报告的能力,无需通过单击按钮重新加载页面,我还应该调用Windows服务来准备数据(该服务处理每个请求30秒-1分钟)。我基于此示例的第一次尝试:https://github.com/MassTransit/Sample-RequestResponse[HttpPost]publicasyncTaskGenerateReport(stringsomeJsonData){varserviceAddress=newUri(ConfigurationManager.AppSettings["Base

c# - SignalR 安全

我是SignalR的新手,但我很好奇它的安全性。例如,我创建了以下方法来向所有用户发送消息,如下所示:publicclassNotificationHub:Hub{publicvoidSend(stringmessage){Clients.All.broadcastMessage(message);}}SignalR在js文件(集线器)中生成以下方法:proxies.notificationHub.server={send:function(message){returnproxies.notificationHub.invoke.apply(proxies.notificationH

c# - SignalR 2.0 .NET 控制台客户端

我有我的服务器控制台应用程序:staticvoidMain(string[]args){stringurl="http://localhost:8080";using(WebApp.Start(url)){MyHubhub=newMyHub();Console.WriteLine("Serverrunningon{0}",url);varkey=Console.ReadLine();while(key!="quit"){hub.Send("Server",key);}}}publicclassMyHub:Hub{publicvoidSend(stringname,stringmessa

c# - 如何在 HubConnection SignalR Core 中发送参数/查询

我正在尝试将参数添加到信号器的连接中。我正在使用Builder创建我的客户端连接并启动它:varconnection=newHubConnectionBuilder().WithUrl("http://10.0.2.162:5002/connection").WithConsoleLogger().WithMessagePackProtocol().WithTransport(TransportType.WebSockets).Build();awaitconnection.StartAsync();我想在此连接中发送一个简单的参数:类似的东西:“代币”:“123”在我的服务器端,我想

c# - 支持 https 的 Owin 自托管控制台应用程序(无 Web API,无 SignalR)

借助SslStream和套接字,我从头开发了一个https网络服务器。我可以从C#代码向流应用证书并处理请求。但是,我不知道如何与Owin一起做这件事。有谁知道如何将证书绑定(bind)到自托管控制台应用程序?示例://BindthebelowcertificatetoOwinhostvarcertificate=newX509Certificate2("server.pfx","password");详情请引用下面已有的Owin主机代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.T

c# - SignalR 2.1.0 : The connection has not been established

我有一个ASP.NETWeb应用程序,其中包含一个简单的HTML页面和一些通过SignalR进行通信的JavaScript。那很好用。现在,我正在尝试从另一个项目(在同一解决方案中)调用Hub上的方法并使用.NETSignalrClientApi:varconnection=newHubConnection("http://localhost:32986/");varhub=connection.CreateHubProxy("MessageHub");connection.Start();hub.Invoke("SendMessage","","");最后一行导致InvalidOpe