мы создали приложение для живого чата в IOS, где серверная часть находится в c # .net, и для живого общения используется SignalR
ПРОБЛЕМА: - не удалось вызвать метод в c # SignalR из iosв первый раз, он работает нормально, чат также работает, но после отключения и при переходе ко второму раунду сигнализатор не может вызвать метод, я поставил несколько журналов и получил следующие детали исключения
2019-04-11 09: 03: 26,918 ERROR MonitoringLogger
Исключение --- System.InvalidOperationException: метод addToGroup не может быть разрешен.Потенциальные кандидаты: addToGroup (un: String, ui: String, gn: String, dt: String): Void
в Microsoft.AspNet.SignalR.Hubs.NullMethodDescriptor.b__6_0 (IHub emptyHub, Object[] emptyParameters) в 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.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);
}];