Ich verwende Xamarin Forms und den WindowsAzure.MobileServices.SQLiteStore NuGet, um die Synchronisation zwischen meiner SQLite-Datenbank und meiner Azure-Datenbank zu ermöglichen. Alles funktioniert gut, aber wenn ich meinen Benutzer abmelden möchte ich die Datenbank reinigen. Auf diese Weise wird bei der nächsten Anmeldung die Datenbank erneut generiert und von Null synchronisiert. Ich habe versucht, die Tabellen zu bereinigen, aber das entfernt nur lokale Daten und wenn Sie sich wieder einloggen, werden nur neue Daten synchronisiert.So löschen Sie die SQLite-Datenbank beim Abmelden
Derzeit mein dispose macht folgendes:
// Globally declared and initialized in my init() method
MobileServiceSQLiteStore store { get; set; }
public MobileServiceClient MobileService { get; set; }
public async Task Dispose()
{
try
{
initialized = false;
// await this.userTable.PurgeAsync<AzureUser>("CleanUsers", this.userTable.CreateQuery(), CancellationToken.None);
store.Dispose();
MobileService.Dispose();
store = null;
MobileService = null;
}
catch (Exception ex)
{
throw ex;
}
}
Jede Idee, wie ich diese Komponente meine SQLite-Datenbank beim Abmelden reinigen kann mit? Vielen Dank!
Haben Sie versucht, nach dem Löschen der Daten eine Synchronisierung zu erzwingen? So warten 'MobileService.SyncContext.PushAsync();' nach 'PurgeAsync()'? – hvaughan3
@ hvaughan3 Sobald sich der Benutzer wieder anmeldet, wird erneut synchronisiert, aber die bereinigten Daten werden nicht synchronisiert, stattdessen werden nur neue Datensätze synchronisiert. –