.NET Realtime AddCreateListener callback isn't called

Hi, apologies if I’m missing something simple, but I’m having trouble getting a callback about a new entry using Realtime. Can you let me know what I’m doing incorrectly? For reference, I’m using the Backendless .NET SDK version 6.7.1.

After signing in to Backendless on a locally running app, I’m calling var myTable = BackendlessAPI.Backendless.Data.Of(“MyTable”).RT(), followed by myTable.AddCreateListener() as per the documentation. I’ve also set up a Backendless.RT.AddConnectListener().

Via the debugger, I see that the myTable.AddCreateListener() callback is being created, and afterward the AddConnectListener callback is being called. However when I then sign in via a deployed Azure app with a different user, and add a new entry to MyTable, the AddCreateListener callback is not called.

Thanks,
Nate

Hello, @Nathan_Loring.

Can you send part of the code with logic that you used?

Regards, Nikita.

Hi Nikita, sure I can try to provide some more relevant information.

Originally I tested this with two different instances of my application, but now I’ve tested this using only a single instance. This is a Blazor Server application and I’m testing it in Debug mode via IDE.

  • Log in:
    Backendless.UserService.LoginAsync(login, password)

  • After login succeeds:
    var productsEventHandler = BackendlessAPI.Backendless.Data.Of(“Products”).RT();
    productsEventHandler?.AddCreateListener(OnProductsRecordCreated);

  • Then the Console shows:
    BACKENDLESS LOG:try to subscribe RTSubscription{id=‘‘, callback=BackendlessAPI.RT.RTCallback1[System.Collections.Generic.Dictionary2[System.String,System.Object]], subscriptionName=OBJECTS_CHANGES, options=System.Collections.Generic.Dictionary`2[System.String,System.Object]}
    BACKENDLESS LOG:Connected event System.EventArgs
    BACKENDLESS LOG:subOn called
    RT Client connected

  • There’s a breakpoint set in:
    private void OnProductsRecordCreated(Dictionary<string, object> dictionary)
    {
    logger.LogInformation(“Created a product record: {}”, dictionary[“objectId”]);
    }

  • Create a new Products record:
    var uow = new UnitOfWork();
    var createOpResult = uow.Create(“Products”, objectMap);
    var uowResult = uow.Execute();

The Create operation succeeds and I see the new record in the Backendless Data Browser. However the breakpoint in OnProductsTableRecordCreated is not hit. I don’t see any additional messages in the Console.

Ok, @Nathan_Loring.

Can you try with Backendless.Data.Of("Products").Save(yourObject) operation?

Regards, Nikita.

Sure, I just tested Backendless.Data.Of("Products").Save(theObject) instead of using UnitOfWork. A Dictionary<string, object> was returned and I verified that the new record exists via the Data Browser, but unfortunately the OnProductsTableRecordCreated() method still wasn’t called.

Ok, thank you. I will check to this as soon as possible.

Regards, Nikita.