Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Firesharp API如何获取新值?_C#_Firebase_Winforms_Firebase Realtime Database - Fatal编程技术网

C# Firesharp API如何获取新值?

C# Firesharp API如何获取新值?,c#,firebase,winforms,firebase-realtime-database,C#,Firebase,Winforms,Firebase Realtime Database,我对C#Firesharp API有一些问题。我需要监听数据库中的新值。我的意思是,当新值添加到数据库中时,我应该立即获得这些值。我试着用定时器,但定时器工作得太慢,和我需要的不一样。有没有办法解决我的问题?我尝试了C#Firesharp API中的同步方法。但它只是把旧的价值记录给我 以下是我尝试过的: IFirebaseConfig firebaseConfig = new FirebaseConfig { AuthSecret = "", BasePath = "" };

我对C#Firesharp API有一些问题。我需要监听数据库中的新值。我的意思是,当新值添加到数据库中时,我应该立即获得这些值。我试着用定时器,但定时器工作得太慢,和我需要的不一样。有没有办法解决我的问题?我尝试了C#Firesharp API中的同步方法。但它只是把旧的价值记录给我

以下是我尝试过的:

IFirebaseConfig firebaseConfig = new FirebaseConfig
{
    AuthSecret = "",
    BasePath = ""
};
FirebaseClient client = new FirebaseClient(firebaseConfig);
EventStreamResponse response = await client.OnAsync("Test", Degistiginde);

private void Degistiginde(object sender, ValueAddedEventArgs args, object context)
{
    MessageBox.Show(args.Data);
}

经过大量研究,我找到了一种有效的方法。 显然,项目github页面上的示例代码不起作用,我想它已经过时了

要使其正常工作,您必须将更新案例分开,如下所示:

EventStreamResponse response = await _client.OnAsync("yourfirebaseassetreference", added: (s, args, context) =>
        {
            Console.WriteLine(args.Data);
        },
        changed: (s, args, context) =>
        {
            Console.WriteLine(args.Data);
         },
         removed: (s, args, context) =>
         {
            Console.WriteLine(args);
         });

问候。

向OnAsync添加侦听器应首先为您提供节点的当前值,然后在数据库中的值发生更改时也会被调用。“你是说它没有做后者吗?”弗兰克凡帕夫伦不,不幸的是它什么也没有做。当我使用该方法时,它只记录一次节点并停止。但我试图从Firebase控制台添加值。应该添加到应用程序中吗?不,不需要。它应该反映两者。我不确定是什么原因导致它不能。希望其他人能发现这个问题。谢谢你的时间,我希望有人能告诉我这个问题。这应该是公认的答案。就是这样!