Docs Menu
Docs Home
/ /
Sincronizar datos

Agregar sincronización de dispositivos a una aplicación - .NET SDK

1

Pase el ID de la aplicación para su aplicación, que puede encuéntrelo en la interfaz de usuario de servicios de aplicaciones.

app = App.Create(myRealmAppId);
2

Autenticar un usuario en tu proyecto cliente. Aquí usaremos autenticación anónima.

var user = await app.LogInAsync(Credentials.Anonymous());
3

Para abrir el reino como sincronizado, puede especificar si el reino sincronizado debe descargar datos antes de abrirse. Aquí, usamos una configuración de sincronización flexible y especificamos que el SDK siempre debe descargar las actualizaciones más recientes antes de abrir el reino. También iniciamos el reino con una suscripción inicial.

var config = new FlexibleSyncConfiguration(app.CurrentUser)
{
PopulateInitialSubscriptions = (realm) =>
{
var myItems = realm.All<Item>().Where(n => n.OwnerId == myUserId);
realm.Subscriptions.Add(myItems);
}
};
// The process will complete when all the user's items have been downloaded.
var realm = await Realm.GetInstanceAsync(config);

La sintaxis para leer, escribir y observar cambios en un dominio sincronizado es idéntica a la de los dominios no sincronizados. Mientras trabaja con datos locales, un subproceso en segundo plano integra, carga y descarga conjuntos de cambios de forma eficiente.

El siguiente código demuestra dos formas de crear un nuevo Task objeto y agregarlo al reino:

var testItem = new Item
{
Name = "Do this thing",
Status = ItemStatus.Open.ToString(),
Assignee = "Aimee"
};
await realm.WriteAsync(() =>
{
realm.Add(testItem);
});
// Or
var testItem2 =
await realm.WriteAsync(() =>
{
return realm.Add<Item>(new Item
{
Name = "Do this thing, too",
Status = ItemStatus.InProgress.ToString(),
Assignee = "Satya"
});
}
);

Importante

Al usar la sincronización, evite escrituras sincrónicas en el hilo principal

Dado que Realm realiza integraciones de sincronización en un hilo en segundo plano, si realiza una escritura sincrónica en su reino en el hilo principal, existe una pequeña posibilidad de que su interfaz de usuario parezca bloquearse mientras espera a que el hilo de sincronización en segundo plano finalice una transacción de escritura. Por lo tanto, se recomienda no realizar una escritura sincrónica en el hilo principal al usar Sincronización de dispositivos y, en su lugar, usar escrituras asincrónicas realm.WriteAsync con.

Volver

Sincronizar datos

En esta página