A13u
❔ How to close a listener firestore.
class FirestoreListener
{
private FirestoreDb db;
private FirestoreChangeListener listener;
public FirestoreListener(string projectId)
{
// Initialize FirestoreDb instance
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\\Users\\abuba\\source\\repos\\tryingAPI\\tryingAPI\\serviceAccountKey.json"); //google certificate
db = FirestoreDb.Create(projectId);
}
public void ListenToDocument(string collectionName, string documentId)
{
DocumentReference docRef = db.Collection(collectionName).Document(documentId);
listener = docRef.Listen(snapshot =>
{
Console.WriteLine("Callback received document snapshot.");
Console.WriteLine("Document exists? {0}", snapshot.Exists);
if (snapshot.Exists)
{
Console.WriteLine("Document data for {0} document:", snapshot.Id);
Dictionary<string, object> documentData = snapshot.ToDictionary();
foreach (KeyValuePair<string, object> pair in documentData)
{
Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
}
}
});
listener.ListenerTask.Wait(); // Block until the listener is done
}
public void stopListener()
{
listener.ListenerTask.Dispose();
}
}
class FirestoreListener
{
private FirestoreDb db;
private FirestoreChangeListener listener;
public FirestoreListener(string projectId)
{
// Initialize FirestoreDb instance
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\\Users\\abuba\\source\\repos\\tryingAPI\\tryingAPI\\serviceAccountKey.json"); //google certificate
db = FirestoreDb.Create(projectId);
}
public void ListenToDocument(string collectionName, string documentId)
{
DocumentReference docRef = db.Collection(collectionName).Document(documentId);
listener = docRef.Listen(snapshot =>
{
Console.WriteLine("Callback received document snapshot.");
Console.WriteLine("Document exists? {0}", snapshot.Exists);
if (snapshot.Exists)
{
Console.WriteLine("Document data for {0} document:", snapshot.Id);
Dictionary<string, object> documentData = snapshot.ToDictionary();
foreach (KeyValuePair<string, object> pair in documentData)
{
Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
}
}
});
listener.ListenerTask.Wait(); // Block until the listener is done
}
public void stopListener()
{
listener.ListenerTask.Dispose();
}
}
4 replies