C#学习教程:Xamarin.iOS上的SignalR-随机无法调用Hub方法我刚刚构建了一个简单的测试Xamarin.iOS应用程序,它给了我一些奇怪的行为。随机在LTE/Wifi或模拟器/设备上-调用集线器方法失败,调用集线器方法时出错X随机约50%-一切都像Windows上的控制台应用程序一样完美运行-两者甚至相互发送消息i该设备已在iPhone5S和iPhone4S。思考这是为什么?我在2.0.0版上使用PortableNuGet包。更新:这是我在启用跟踪时得到的(我清除了我的域):2013-11-2507:47:48.204MyApp[5163:80b]13:47:48.1865420-null-ChangeState(Disconnected,Connecting)2013-11-2507:47:49.025MyApp[5163:6b03]13:47:49.0247930-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:GEThttp://mydomain.cloudapp.net/signalr/connect?transport=serverSentEvents&connectionToken=pVF6LN7KBOem7Ng2hrhx6dSByFe%2BxCr4u6RlY5V%2FtKf%2BHmOoJD5DfVpMySiUuDOaiIPlHI%2FtliqvuddvcDxnZQqi9tIYAxuyZOjYSG%2B9%2Fnx%2FQ%2B6m&connectionData=[{"Name":"MainHub"}]&noCache=c3d54c1d-ee78-49cc-85b4-2c87a024c32a2013-11-2507:47:49.203MyApp[5163:6b03]13:47:49.2023660-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:已初始化)2013-11-2507:47:49.3193MyApp6[5136:47:49.3184a25d184125-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:{“C”:“s-0,CF9”,“S”:1,“M”:[]})2013-11-2507:47:49.332MyApp[5163:6b03]13:47:49.3318670-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-ChangeState(连接,已连接)2013-11-2507:47:49.634MyApp[5163:6b03]13:47:49.6339640-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:{“C”:“s-0,CFA","G":"54eYUWzlKXr9ezIoP1rZvj4DOQ00lfpXZ62PV+HwgzqCvgET2otfFNud1KzX24MjGplzkOwpyzqrVJ1jffBMyWppsDt9Tl+D25btqsxJWt6bBg3v4YfwobBKbpZaScgk/gPp5w==","M":[]})2013-11-2507:47:49.703MyApp[5163:6b03]13:47:49.7029070-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:{“C”:“s-0,CFB”,“M”:[]})2013-11-2507:47:58.090MyApp[5163:6b03]13:47:58.0894910-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:{})2013-11-2507:48:08.108MyApp[5163:6b03]13:48:08.1084000d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-SSE:OnMessage(数据:{})2013-11-2507:48:18.118MyApp[5163:6b03]13:48:18.1178390-d84a25b3-b426-4f0b-db17d9-SSE:OnMessage(数据:{})2013-11-2507:48:22.097MyApp[5163:6b03]13:48:22.0968150-d84a25b3-b426-4f0b-b4bc-7d170e3c1bd9-OnMessage({"I":"0","E":"出现错误调用Hub方法'MainHub.SignOn'。"})空OnMessage将在更新#2失败后经常继续打印经过测试和进一步检查,它似乎比LTE相关Wifi更可能是随机的。总而言之,一切都在我的机器上本地工作.只是在部署到Azure时没有。基本上调用集线器方法会在随机发生时超时。以下是我做的一些事情使问题更加罕见,但它仍然发生:ForcingLongPollingTransport,anywayaddTask.Delaybetween成功启动和第一次调用我在服务器上将EnableDetailedErrors设置为true,这似乎是服务器端发生的情况:登录错误:System.Threading.Tasks.TaskCanceledException:任务已取消。在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Tasktask)atSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tasktask)atMyNamespace.MainHub.d__0.MoveNext(w3wp.exe'事件我认为这与客户放弃有关。我在Azure上看到了一些与此相关的Github问题,但它们被标记为已关闭...更新#3一时兴起,我将其部署到标准的Azure网站部分而不是云服务。之后一切正常。有任何想法吗?我显然可以使用Azure网站,但为什么它不能用作云服务?目前,解决方案是使用AzureWebsites而不是云服务。当我有时间时,我将创建一个repro并将其提交到SignalRGithub问题页面。应该能够在本周晚些时候做到这一点。以上是C#学习教程:SignalRonXamarin.iOS-Hub方法不能随意调用。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
