新发布的ASP.NET WebHooks和Signal-R有什么区别 ? 有什么优点或缺点? 每种技术有哪些用例?
由于更新到VS2013,我们收到这个错误时运行我们的(MCV4)networking应用程序: The controller for path '/9ac086a69364466a841e03e001f946fd/arterySignalR/ping' could not be found. 我知道它涉及到浏览器链接,虽然我不知道我们需要做些什么才能使其正常工作。 我们需要做一些configuration更改来支持这个新function吗?
偶尔在VS2012中使用IISExpress运行我的MVC4站点时,出现以下错误,IISExpress停止: iisexpress.exe: Managed (v4.0.30319)' has exited with code -1073741816 (0xc0000008) 'An invalid handle was specified 事件日志中没有任何内容,我无法findinterweb上的任何东西。 我有一些非常模糊的理论: 我的网站在启动时dynamic使用MEF加载模块。 也许有偶尔的竞争条件,所以IIS不能打开一个程序集,但我的跟踪日志显示,IIS超出了启动周期的一部分。 它也有SignalR,但是除了启动集线器之外还没有做太多的事情。 SignalR是相当新的和未经证实的,但我更新了最新的RC2版本,结果相同。 哦,我也使用VS开发Web服务器时也有同样的错误。 我还没有尝试完整的IIS呢。 任何人都有线索? 谢谢 更新: 我固定了一些似乎使事情稳定一些的nuget引用,然后今天上午又发生了。 VS输出窗口显示这个: 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mobile\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\peter.jones\AppData\Local\Temp\Temporary ASP.NET Files\root\a4aa93f7\dfa23a50\App_Web_rpzlbjhw.dll', […]
我目前有一个用.Net编写的TCP服务器应用程序,它接收并向客户端提交消息。 我正在build设一个Web应用程序,所以需要通信层。 我已经build立了一个Node.JS + Socket.IO应用程序连接到我的TCP服务器,然后将通信推送到Web应用程序,一切正常。 我刚刚读到了有关SignalR的一个替代方法,将它保存在.Net堆栈中。 不过,我也发现我可以写一个C#WebSocket服务器, 这里是一个基本的演示 我认为这个基本的服务器是SignalR的,但显然有更多的function呢? 我试图决定的是,我只是追加我的当前TCP应用程序与一个WebSocket服务器,或者我走了一个单独的SignalR或Node.js路线? 出于兴趣SignalR应用程序如何运行,它是作为Windows服务,控制台应用程序还是IIS服务?
我在移动应用程序中使用SignalR 2.0与.NET客户端,所以我需要处理各种types的断开连接。 有时SignalR客户端在没有我的帮助的情况下重新连接 – 有时我必须通过再次调用HubConnection.Start()来重新连接。 (因为SignalR神奇地自动重新连接一些时间,我想知道如果我错过了function或configuration设置) build立一个自动重新连接的客户端的最佳方法是什么? 我已经看到处理闭合()事件,然后连接n秒后的JavaScript示例。 有没有推荐的方法? 我已经阅读了关于SignalR连接生命周期的文档和一些文章,但是我仍然不清楚如何处理客户端重新连接。 谢谢!
最近我一直在寻找和阅读SignalR,当我看到关于Hub和Persistent Connections之间的区别的很多解释时,我还没有能够把我的头移到下一个层次,这就是为什么我会select另一种方法?
我创build了一个新的VS 2013项目,并使用Firefox浏览器查看了default.aspx页面。 当我检查它所做的networking调用时,我发现它会不断地调用: http://localhost:50682/6a663a78019845d5ade4a328cad09cc2/arterySignalR/poll?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAOBmDwPWa2ky2MAZXFHBMVAAAAAACAAAAAAAQZgAAAAEAACAAAADSADQXBVKiKczflJ0OzUjOLduFTJE4zd%2FLHWGpDfXnuAAAAAAOgAAAAAIAACAAAACyEX81VwilygfphPoEKCYQ6ZwrkzExoKfZzEMkqBKqqzAAAADG%2BDJbrEFOfsNm9OKhqacnGseQvrwy5kmyZnI5YJiZbjYFgzMELXHfwA7Sxjj4osJAAAAAvQvoG4N0nn8eB9FRaJaZyqaUDF%2F9ypvGN%2B%2BVefnx8U1Fq6P9HXO9vEC%2BfA2s8R4jik58rD4IcFMjM4P8l5kv6g%3D%3D&messageId=d-F1180A0E-W%2C0%7Cl%2C4%7Cm%2C0&requestUrl=http%3A%2F%2Flocalhost%3A50656%2Fdefaulttest&browserName=Firefox&tid=4&_=1384207744328 为什么这样做? 我如何阻止这些电话? 我看到每6秒对上述URL进行无限次的调用。 请帮我理解这一点,并解决这个问题。
任何人都可以让我知道,SignalR如何在高层次内部工作? 我猜测它刷新数据使用Response.Flush和在客户端它是发送一定的时间间隔Ajax请求。 这是对的吗?
有一个控制台或winform应用程序使用signalR向.net中心发送消息的一个小例子? 我已经尝试过.net的例子,并且看过了wiki,但是对于hub(.net)和客户端(控制台应用程序)之间的关系没有任何意义(找不到这个例子)。 该应用程序只需要集线器的地址和名称来连接? 如果有人能够提供一小段代码来显示应用程序连接到集线器并发送“Hello World”或.net集线器收到的东西? PS。 我有一个标准的集线器聊天的例子,运行良好,如果我尝试在Cs中分配一个集线器名称,它停止工作,即[HubName(“testing”)],你知道这个的原因? 谢谢。 当前控制台应用代码。 static void Main(string[] args) { //Set connection var connection = new HubConnection("http://localhost:41627/"); //Make proxy to hub based on hub name on server var myHub = connection.CreateProxy("chat"); //Start connection connection.Start().ContinueWith(task => { if (task.IsFaulted) { Console.WriteLine("There was an error opening the connection:{0}", task.Exception.GetBaseException()); } else { Console.WriteLine("Connected"); […]