c# - 如何在 C# 中使用 firesharp nuget 包从 firebase 读取数据?
问题描述
我使用以下代码连接到 firebase 并尝试读取数据。连接成功,但我无法读取数据。它给出 System.NullReferenceException:'对象引用未设置为对象的实例。
namespace GPSTrack
{
public partial class Form1 : Form
{
IFirebaseConfig config = new FirebaseConfig
{
AuthSecret = "4xxxxxxxxxxxxxxxxEzs",
BasePath= "nodxxxxxx.firebaseio.com"
};
IFirebaseClient client;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
client = new FireSharp.FirebaseClient(config);
if(client!=null)
{
MessageBox.Show("Connection success");
}
}
private async void button1_Click(object sender, EventArgs e)
{
FirebaseResponse response = await client.GetTaskAsync("test");
FBclass obj = response.ResultAs<FBclass>();
MessageBox.Show(response.ToString());
}
}
}
解决方案
问题可能出在响应创建中,因为您只放置了一个名为“test”的父节点。如果这是您的 firebase 实例中唯一的数据集/节点,那么它可能没有返回异常。如果“测试”父节点下有一个子节点,那么我想建议在 get 调用中对该节点进行硬编码:
FirebaseResponse response = await client.GetTaskAsync("test/childnode");
FBclass obj = response.ResultAs<FBclass>();
或者,您可以创建一个对要求特定 ID 的文本框的调用:
FirebaseResponse response = await client.GetTaskAsync($"test/{ textBox.Text }");
FBclass obj = response.ResultAs<FBclass>();
推荐阅读
- javascript - Outlook 加载项桌面 - 显示 google oauth 2 对话框
- java - QuerySyntaxException:意外令牌:FROM
- cloud - JIRA 云与 Tenable.io 的集成
- postgresql - 查询在存储过程的 POSTGRESQL 中没有结果数据的目的地
- sql - 如何使用 SQL 将长格式数据插入两个单独的表中?
- c++ - MacOS / Qt 5.14.1 项目的蓝牙断开问题
- java - 如何使用包含标签进行递归(foreach 循环)?树形结构-JAVA
- javascript - 在 Vuetify 的日历上从外部删除事件
- go - 如果运行时不抛出(“并发映射写入”)而是恐慌(“并发映射写入”)会发生什么
- java - 如何在没有显式控制器建议方法的情况下将异常映射到响应状态代码?