Code: Select all
static async Task Main(string[] args)
{
var supabaseUrl = "url";
var supabaseKey = "key";
var supabase = new Supabase.Client(supabaseUrl, supabaseKey);
await supabase.InitializeAsync();
var realtimeUrl = "wss://.supabase.co/realtime/v1";
var options = new Supabase.Realtime.ClientOptions
{
Parameters = new Supabase.Realtime.Socket.SocketOptionsParameters
{
ApiKey = supabaseKey
}
};
var realtimeClient = new Supabase.Realtime.Client(realtimeUrl, options);
await realtimeClient.ConnectAsync();
var channel = realtimeClient.Channel("realtime", "public", "*");
channel.AddPostgresChangeHandler(ListenType.All, (sender, change) =>
{
Console.WriteLine($"Event: {change.Event}");
if (change.Payload != null && change.Payload.Data != null)
{
Console.WriteLine($"Table: {change.Payload.Data.Table}");
Console.WriteLine($"Action: {change.Payload.Data.Type}");
if (change.Payload.Data.Record != null)
{
var record = JsonConvert.SerializeObject(change.Payload.Data.Record, Formatting.Indented);
Console.WriteLine($"Record: {record}");
}
if (change.Payload.Data.OldRecord != null)
{
var oldRecord = JsonConvert.SerializeObject(change.Payload.Data.OldRecord, Formatting.Indented);
Console.WriteLine($"Old Record: {oldRecord}");
}
}
});
await channel.Subscribe();
while (true)
{
await Task.Delay(1000);
}
Trotz dieser Einrichtung ist die Payload-Eigenschaft immer null oder leer, während die Json-Eigenschaft die erwarteten Daten enthält. Ich habe ein Bild angehängt, das die Json-Eigenschaft mit korrekten Daten zeigt, aber die Nutzlast bleibt leer.
[img]https://i.sstatic .net/oTUnpbhA.png[/img]
Die Pakete sind:
Code: Select all
Supabase;
Supabase.Realtime;
Supabase.Realtime.PostgresChanges;
Supabase.Realtime.Socket;
Außerdem kann nicht auf die Json-Eigenschaft als Teil des Objekts zugegriffen werden; es ist entweder privat oder ein Ausdruck.