Код: Выделить всё
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);
}
[img]https://i.sstatic .net/oTUnpbhA.png[/img]
Пакеты:
Код: Выделить всё
Supabase;
Supabase.Realtime;
Supabase.Realtime.PostgresChanges;
Supabase.Realtime.Socket;
Кроме того, невозможно получить доступ к свойству Json как к части объекта; это либо частное лицо, либо выражение.
Подробнее здесь: https://stackoverflow.com/questions/793 ... d-is-empty