Supabase Realtime集成问题:Payload为空但Json含有效数据
Supabase Realtime集成问题:PostgresChangesResponse Payload为空但Json属性有数据
我正在将Supabase Realtime集成到应用中,监听PostgreSQL数据库的变更。但遇到PostgresChangesResponse的Payload始终为空,而Json属性包含预期数据的问题,且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); } }
使用的NuGet包
Supabase; Supabase.Realtime; Supabase.Realtime.PostgresChanges; Supabase.Realtime.Socket;
请问我是否遗漏了某些OptionParameters的配置?
内容的提问来源于stack exchange,提问作者Winter Wind
相关产品推荐
相关产品推荐

