Полезная нагрузка Supabase в реальном времени пустаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Полезная нагрузка Supabase в реальном времени пуста

Сообщение Anonymous »

В настоящее время я работаю над интеграцией Supabase Realtime в свое приложение, чтобы отслеживать изменения в моей базе данных PostgreSQL. Однако я столкнулся с проблемой, из-за которой полезные данные в PostgresChangesResponse постоянно пусты, хотя свойство Json содержит правильные данные.

Код: Выделить всё

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);
}
Несмотря на эту настройку, свойство Payload всегда имеет значение null или пусто, а свойство Json содержит ожидаемые данные. Я прикрепил изображение, показывающее свойство Json с правильными данными, но полезные данные остаются пустыми.
[img]https://i.sstatic .net/oTUnpbhA.png[/img]

Пакеты:

Код: Выделить всё

Supabase;
Supabase.Realtime;
Supabase.Realtime.PostgresChanges;
Supabase.Realtime.Socket;
Могу ли я пропустить какие-либо дополнительные OptionParameters?
Кроме того, невозможно получить доступ к свойству Json как к части объекта; это либо частное лицо, либо выражение.

Подробнее здесь: https://stackoverflow.com/questions/793 ... d-is-empty
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»