我已经进行了数小时的搜索,试图弄清楚为什么 websockets 传输无法通过信号器在我的 c# 4.5 应用程序上通过 mono 4.0.1 在 linux 上运行。
我项目中的引用:
Microsoft.Owin.Host.HttpListenerMicrosoft.Owin.Host.SystemWeb现在,我正试图找出阻止 websockets 工作的瓶颈所在。我的理解是,SystemWeb 基本上是一个自运行服务器,它利用 Httplistener 监听 HTTP 连接的端口,然后处理它们直到 系统网。我的这一部分是否正确?
有人可以为我指明正确的方向以解决当前正在开发的未解决问题或错误跟踪器吗?据我所知,http.sys 中有一些核心功能来自 this answer在 Windows 8 中是必需的和存在的。是否有计划在单声道中实现它?我不想获得一些第三方库,而是希望它在 SignalR 中运行。
最佳答案
大约 3 个月前,我对 Angular 2 和 Singnalr 的项目进行了类似的调查。我希望 Web 套接字的使用对您的项目来说不是必需的。
如你所见here一位 Xamarin 开发人员表示,它无法正常工作,因为 System.Web.WebSocket 未在 Mono 中实现他们目前不打算实现它。
I believe there's a lot of work going on with mono's http stack right now and that probably needs to stabilize before we see this particular issue resolved.
我建议继续使用当前的 mono,因为 signalr 有 websockets 的回退,这不会是一个大问题,当它实现为 mono 时,您可以简单地更新您的项目。根据当前 MS 的开源政策,我相信它会比预期的更快。
如果您的项目需要 websocket 功能,那么您应该立即 fork SignalR 或找到使用第 3 方解决方案的 fork 版本 WebSocketListener非常受欢迎,而且功能更多。
I'd encourage anyone interested to fork SignalR and see if they can use one of these xplat websockets implementations to get it working in their own fork.
更新:
不幸的是,我找不到带有 WebSocketListener 的 SignalR 的任何分支,但由于它有很多分支,所以很难找到。
据我所知,Mono 团队几乎停止了所有实现并专注于 ASP.Net vNext 实现到 Mono因为它是open source .
关于c# - Mono 上的 SignalR 和 Websockets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452890/
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
如何在ruby中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL
我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
我有一个.pfx格式的证书,我需要使用ruby提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o
我了解instance_eval和class_eval之间的基本区别。我在玩弄时发现的是一些涉及attr_accessor的奇怪东西。这是一个例子:A=Class.newA.class_eval{attr_accessor:x}a=A.newa.x="x"a.x=>"x"#...expectedA.instance_eval{attr_accessor:y}A.y="y"=>NoMethodError:undefinedmethod`y='forA:Classa.y="y"=>"y"#WHATTT?这是怎么回事:instance_eval没有访问我们的A类(对象)然后它实际上将它添加到
我有一个集合选择:此方法的单选按钮是什么?谢谢 最佳答案 Rails3中没有这样的助手。在Rails4中,它是collection_radio_buttons. 关于ruby-on-rails-rails上的ruby:radiobuttonsforcollectionselect,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18525986/
我正在尝试将cucumber项目的用户名和密码置于版本控制之外。有没有办法在命令行上手动将用户名和密码等变量传递给Cucumber脚本?我的备份计划是将它们放在一个YML文件中,然后将该文件添加到gitignore,这样它们就不会被置于版本控制中。 最佳答案 所以,我看到了您对铁皮人的评论,答案是肯定的。cucumberPASSWORD=my_passwordPASSWORD被设置为环境变量,您可以通过将其引用为ENV['PASSWORD']来使用它的值。例如,browser.text_field(:id=>'pwd').setEN