0

We have a client and a server which communicate via signalr. In client when it first starts it is able to connect with the server via signalr and communicate with some signalr methods via the hub. But after a sepcific event the server is unable to communicate via the signalr. But in the client it show as connection is connected. Following are the signalr trace logs from the client side after connecting with the server.

9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: initialized)
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {"C":"s-0,C5FA","S":1,"M":[]})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"I":"93"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - ChangeState(Connecting, Connected)
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {"C":"s-0,C636","M":[{"H":"PrintConnectorHub","M":"Registered","A":[{"Connected":false,"ErrorCount":0,"InstalledBy":{"EmployeeId":1111,"Firstname":null,"Lastname":null},"Name":"*** ***","Server":{"ComputerName":"**","IPAddress":"****","MACAddress":"****","OperatingSystem":"Microsoft® Windows Server® 2008 Standard FE "},"Status":0,"Version":"1.4.4"}]}]})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"90"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - Callback with id 90 not found!
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"94"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"92"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - Callback with id 92 not found!
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {})

After this although the client remains as connected server can not send any message to the client via signalr. We are facing this issue in 2 of our clients and in all client signalr trace logs it has shown these log lines after connected is fired.

9492fb51-e37b-4f6c-b184-536c87dd73f1 - SSE: OnMessage(Data: {"C":"s-0,C636","M":[{"H":"PrintConnectorHub","M":"Registered","A":[{"Connected":false,"ErrorCount":0,"InstalledBy":{"EmployeeId":1111,"Firstname":null,"Lastname":null},"Name":"*** ***","Server":{"ComputerName":"**","IPAddress":"****","MACAddress":"****","OperatingSystem":"Microsoft® Windows Server® 2008 Standard FE "},"Status":0,"Version":"1.4.4"}]}]})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"90"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - Callback with id 90 not found!
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"94"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - OnMessage({"R":false,"I":"92"})
9492fb51-e37b-4f6c-b184-536c87dd73f1 - Callback with id 92 not found!

41889ccd-5634-440a-95ef-fbbdcd340a19 - SSE: OnMessage(Data: {"C":"s-0,C634","M":[{"H":"PrintConnectorHub","M":"Registered","A":[{"Connected":false,"ErrorCount":0,"InstalledBy":{"EmployeeId":1111,"Firstname":null,"Lastname":null},"Name":"***","Server":{"ComputerName":"****","IPAddress":"****","MACAddress":"****","OperatingSystem":"Microsoft Windows Server 2008 R2 Standard "},"Status":0,"Version":"1.3.8"}]}]})
41889ccd-5634-440a-95ef-fbbdcd340a19 - SSE: OnMessage(Data: {})
41889ccd-5634-440a-95ef-fbbdcd340a19 - OnMessage({"R":false,"I":"611"})
41889ccd-5634-440a-95ef-fbbdcd340a19 - Callback with id 611 not found!
41889ccd-5634-440a-95ef-fbbdcd340a19 - OnMessage({"R":false,"I":"615"})
41889ccd-5634-440a-95ef-fbbdcd340a19 - OnMessage({"R":false,"I":"613"})
41889ccd-5634-440a-95ef-fbbdcd340a19 - Callback with id 613 not found!

We are using scaleout using SQl server with the backplane setup in SQL server. What does in the above log traces callback with id not found means and what can be the problem that server cannot communicate to client even though the client logs shows as it connected?

CuriousGuy
  • 3,818
  • 4
  • 24
  • 28
Janitha Tennakoon
  • 856
  • 11
  • 40

1 Answers1

1

Callback with id 613 not found! Callback with id 611 not found!

It says that it cannot find suitable method on Hub. Have you checked that you are calling right method names on a right hub?

You can check calling method and args doing this:
Define you pipeline module

public class MyPipelineModule : HubPipelineModule
{
    protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context)
    {
        //context.Args
        //context.Hub
        //context.MethodDescriptor.Name
        return base.OnBeforeIncoming(context);
    }
}

In place where you configure SignalR:

GlobalHost.HubPipeline.AddModule(new MyPipelineModule());
cassandrad
  • 3,412
  • 26
  • 50
  • These logs are shown in the client, not in the server. – Janitha Tennakoon Feb 02 '17 at 03:43
  • Yep, and can you check that everything is correct on the server side? Because it looks like you are calling wrong methods or using wrong hub. – cassandrad Feb 02 '17 at 06:59
  • Yes, all the methods that are called by the server is in the client. What do you mean by wrong hub? different servers? – Janitha Tennakoon Feb 02 '17 at 07:57
  • You have missing methods on server side or on the client side. Your logs state that SignalR isn't able to find a method. You need to check on the client side that method that server is calling really exist and you need to check that methods that client calls do really exist on the server side and name of calling hub is correct. Is that clear? – cassandrad Feb 02 '17 at 09:10