我们在 IOS 中创建了一个实时聊天应用程序,后端采用 c# .net 并使用 SignalR 进行实时通信
问题:- 无法从 ios 应用程序调用 c# SignalR 中的方法,第一次工作正常,聊天也可以工作,但在断开连接后以及进行第二轮时,信号器无法调用我已经放置了一些日志的方法,并且得到了以下异常详细信息
2019-04-11 09:03:26,918 ERROR MonitoringLogger
Exception ---System.InvalidOperationException: 'addToGroup' method could not be resolved. Potential candidates are: addToGroup(un:String, ui:String, gn:String, dt:String):Void
位于 Microsoft.AspNet.SignalR.Hubs.NullMethodDescriptor.b__6_0(IHub 空Hub,对象[] 空参数) 在 Microsoft.AspNet.SignalR.Hubs.HubDispatcher.Incoming(IHubIncomingInvokerContext 上下文) --- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.AspNet.SignalR.Hubs.HubPipelineModule.<>c__DisplayClass0_0.
block 引用>d.MoveNext() c# 代码 服务器端方法
public void addToGroup(string un, string ui, string gn, string dt ) { // business logic }
IOS代码 客户端代码
[chat invoke:@"addToGroup" withArgs:[NSArray arrayWithObjects:userName,userId,groupName, deviceId, nil] completionHandler:^(id response, NSError *error) { NSLog(@"Resposne:%@",response); completion(response,error); }];
最佳答案
问题出在连接 ID 上 signalR 在每个连接上提供 conenctinId 一旦您关闭连接,那么下次 conenctionid 与上次不同。 我是 C# 开发人员,所以我想,这个问题,请让我知道集线器信息,以便我可以为您提供准确的解决方案。
关于c# - SignalR 中的组加入方法抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630038/