Tag: signalr

SignalR和IE问题 – 民意调查正在审理中

我有IE和SignalR的问题,我正在使用它在两个数据库之间执行同步操作,在所有情况下,操作在Google Chrome / Firefox / Safari上成功完成。 第一次使用IE时,同步执行成功但只有一次,第二次是挂起的请求堆栈和页面永远冻结。 我在网上找到了一个改变传输模式的解决方案。 但页面仍然冻结。 if (isIE()) { $.connection.hub.start({ transport: [‘serverSentEvents’,’foreverFrame’]}).done(function () { progressNotifier.server.DoMyLongAction(); }); }else{ $.connection.hub.start({ transport: [‘serverSentEvents’,’longPolling’] }).done(function () { progressNotifier.server.DoMyLongAction(); }); } 我正在使用:SgnalR v2.1.0.0 .Net framework v4.5 jquery v1.8 这是一个问题还是我做错了什么? 编辑 我的应用程序使用Jquery进度条,我使用此代码更新此进度条:服务器端: Clients.Caller.sendMessage(msg, 5, “Accounts”); 客户端: progressNotifier.client.sendMessage = function (message, value, Entity) { pbar1.progressbar(“value”, nvalue); }; 它正在使用Firefox,所以我认为这是一个signalR问题!! 现在我感到困惑,如果它按预期工作,那么是什么导致了这个问题?

0x800a138f – JavaScript运行时错误:无法获取未定义或空引用的属性“client”

有几个类似的问题,但没有一个答案似乎有效。 我有3个不同的网站(每个网页一个)使用Visual Studio Express 2013 Web构建。 他们都使用signalR。 实际上,一个是可以从Nuget下载的SignalR.Sample示例。 它们都适用于IIS Express。 他们都使用过IIS。 他们都使用设置为调试的Internet Explorer在IIS上给出上述错误。 FireFox和Chrome只是在不启动signalR的情况下提供网页。 完全相同的3个站点可在另一台计算机上的IIS上运行。 所以我认为我的IIS设置已经改变并且是错误的。 在问题出现之前,我已经加载了Abyss Web Server以试图让网站运行(我失败了),并且我已经取消选择IIS以便它不会干扰。 我现在已经删除了Abyss并恢复了IIS,确保使用ASP.Net和.Net 4。 任何人都可以指导我在哪里寻找问题吗? 只是为了记录我在下面显示正在加载的jQuery文件

SignalR版本1.2.2获取错误:路径’/ function()的控制器{_pageLoaded = true; }’未找到或未实现IController

我将SignalR版本1.2.2与ASP.NET MVC 4一起使用。我将signalR连接设置为定义的“区域”内的页面无论如何,这似乎是在SignalR脚本加载时出现的。 因为如果我访问区域部分之外的主区域中定义的视图,我仍然会收到此错误: System.Web.HttpException(0x80004005):路径’/ function()的控制器{_pageLoaded = true; }’未找到或未实现IController。 在System.Web.Mvc.DevaultControllerFactory.GetControllerInstance(RequestContext requestContext,Type controllerType)的System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext,String controllerName)at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext,IController&controller) System.Web.Mvc上System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext,AsyncCallback回调,对象状态)的System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext,AsyncCallback回调,对象状态),IControllerFactory&factory) System.Web.HttpApplication.ExecuteStep(IExecutionStep)上的System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中的.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext上下文,AsyncCallback cb,Object extraData) step,Boolean&completedSynchronously) 我发现, /function () { _pageLoaded = true; } 在jquery.signalR-1.2.2.js里面_pageWindow.load(function () { _pageLoaded = true; }); 我遵循了本教程: 教程 ,它使用单例来维护集线器的Context实例。 我能做错什么? 更新:当我从头部删除对SignalR js文件的脚本引用时,错误就消失了,所以我可以自信地说它与SignalR有关。

JQuery阻塞异步初始化

我正在为SignalR集线器编写AngularJS服务。 这是我的服务工厂: .factory(‘gameManager’, [function () { $.connection.hub.start(); var manager = $.connection.gameManager; return manager; }]) 该代码将是完美的,除了.start()调用是异步的,并且在返回管理器之前集线器尚未完成。 基本上,我想阻止,直到开始完成,然后返回经理。 .start()方法返回一个Jquery 延迟对象,我猜这是答案的一部分,但我不知道如何在没有回调函数的情况下使用它?

用于调用SignalR异步任务的JQuery示例

有没有人有一个基于JQuery的客户端在SignalR Hub上调用基于异步任务的方法的工作示例? 有关服务器端异步任务的示例,请参阅SignalR Doco中的以下代码。 public Task AsyncWork() { return Task.Factory.StartNew(() => { // Don’t do this in the real world Thread.Sleep(500); return 10; }); }

使用Angularjs连接到signalr时出现404错误

大家好我正在努力实现一个SignalR股票代码使用AngularJS基于这里的一个例子。 但我连接到这样的信号器时出现错误GET http:// localhost:9000 / signalr / negotiate?clientProtocol = 1.5&connectionData =%5B%7B%22name%22%3A%22stockticker%22%7D%5D&_ = 1480526019939 404(未找到) 这是我的jquery文件中显示错误的地方: try { // Do send the request (this may raise an exception) xhr.send( options.hasContent && options.data || null ); } catch ( e ) { // #14683: Only rethrow if this hasn’t been notified as an error yet if ( […]

Jquery脚本与SignalR冲突

我遇到的问题似乎应该是相对简单的解决,但到目前为止答案已经没有了。 我正在使用SignalR将新的局部视图返回到主页面。 使用新信息更新数据库时,将调用使用新的部分视图更新div标记的客户端函数。 到现在为止还挺好。 现在我想添加更多的JQuery代码来隐藏/显示我的表中显示在局部视图中的子行。 问题是到目前为止我只能使一个或另一个脚本工作。 如果我让表显示/隐藏function正常工作,它会破坏我的signalR脚本,因此当服务器触发时我不再接收更新的部分视图。 同样,当signalR正常工作时,我无法再激活显示/隐藏function。 SignalR似乎使用旧版本的JQuery,但是为了使我添加的脚本能够工作,我必须添加对jquery-1.10.2的引用。 SignalR不需要jquery引用,它只需要jquery-signalR-2.1.2引用。 所有这些脚本都位于显示局部视图的主页面上,而不是局部视图。 我也试过做JQuery没有与这两个脚本冲突无济于事。 它似乎与两个版本的JQuery同时被引用有关,但我不知道从哪里开始使两个脚本一起工作。 无论哪个脚本首先放置,都是有效的。 这是signalR脚本,只有它的依赖: $(function () { // Declare a proxy to reference the hub. var notifications = $.connection.monitoringHub; //debugger; // Create a function that the hub can call to broadcast messages. notifications.client.updateDetails = function () { getDetails() }; // Start the connection. $.connection.hub.start().done(function […]

SignalR拒绝工作

Global.asax中: void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapConnection(“echo”, “echo/{*operation}”); } myconnection.cs public class myconnection : PersistentConnection { protected override Task OnReceivedAsync(string clientId, string data) { // Broadcast data to all clients return Connection.Broadcast(data); } } 〜/页/ Messages.aspx $(function () { var connection = $.connection(‘echo’); connection.received(function (data) { $(‘#messages’).append(” + data + ”); }); connection.start(); $(“#broadcast”).click(function […]

使用SignalR检测“服务器离线”

我们正在尝试在低带宽环境中使用SignalR,其中与后端服务器的连接可以随机出现,我们希望我们的Web应用程序做出适当的响应。 看起来这个连接API在过去的一年里一直在变化,但根据最新文档,我已经尝试连接到$ .connection.hub.stateChanged以检测连接状态的变化,我得到了几个点击在启动时,客户端从断开连接 – >连接 – >连接,但是当我停止服务器时,事件处理程序不会触发,当我再次启动服务器时,实时消息传递不再起作用。 为了测试这种情况,我在Windows 7上运行IIS中的ASP.NET Web服务器,并且Web客户端在Google Chrome中运行。 一旦站点运行,并且正在交换消息,我在IIS中杀死了网站,并且消息停止但客户端没有收到任何通知。 这是一个快速片段(使用TypeScript): $.connection.hub.stateChanged((change) => { console.log(“state changed…”); console.log(change); if (change.newState === $.signalR.connectionState.reconnecting) { this.raise(‘action:disconnected’); } else if (change.newState === $.signalR.connectionState.connected) { this.raise(‘action:connected’); } }); 任何指导都将非常感谢,谢谢! -Jeremy

如何防止signalR错误停止进一步执行javascript

我正在开发一个asp.net mvc项目,我们在不同的视图中使用SignalR进行实时连接。 除了在SignalR出现问题时javascript的执行停止这一事实之外,效果很好。 通常,如果我的自托管应用程序关闭或发生其他连接问题,则此错误将成为问题。 GET http://localhost:8081/signalr/hubs net::ERR_CONNECTION_REFUSED List:328 Uncaught TypeError: Cannot read property ‘client’ of null 如上所述,如果发生这种情况,它会阻止我的所有其他javascript执行,从而无法正确呈现我的视图或布局。 有没有办法解决这个问题,所以视图继续加载并运行其javascript? 我的典型视图如下所示: @model Services.Models.SomeModel … 连接器看起来像这样: $.connection.hub.url = “http://localhost:8081/signalr”; //Enable logging $.connection.hub.logging = true; // Proxy created on the fly var messageHub = $.connection.myHub; if (messageHub == null) return null; messageHub.client.timeEnabled = true; … ommitted functions … $.connection.hub.start(function […]