FlexibleSyncConfiguration 类
FlexibleSyncConfiguration用于设置Realm ,其数据可以使用 Atlas Device Sync 在设备之间同步。 与PartitionSyncConfiguration不同,使用FlexibleSyncConfiguration打开的 Realm 最初为空,直到通过Subscriptions添加一个或多个订阅。
继承成员
命名空间: Realm 。 Sync
程序集:Realm.dll
语法
public class FlexibleSyncConfiguration : SyncConfigurationBase
构造函数
| 编辑本页 查看源代码FlexibleSyncConfiguration(User, string?)
初始化FlexibleSyncConfiguration类的新实例。
声明
public FlexibleSyncConfiguration(User user, string? optionalPath = null)
参数
类型 | 名称 | 说明 |
---|---|---|
user | user | 有效的User 。 |
字符串 | 可选路径 | Realm 的路径必须是当前平台的有效完整路径、相对子目录或只是文件名。 |
属性
| 编辑本页 查看源代码PopulateInitialSubscriptions
获取或设置首次打开 Realm 时调用的回调。
声明
public FlexibleSyncConfiguration.InitialSubscriptionsDelegate? PopulateInitialSubscriptions { get; set; }
属性值
类型 | 说明 |
---|---|
FlexibleSyncConfiguration 。 InitialSubscriptionsDelegate | 首次打开 Realm 时将调用FlexibleSyncConfiguration.InitialSubscriptionsDelegate 。 |
备注
此回调允许您填充一组初始订阅,然后在调用GetInstance(RealmConfigurationBase?)时等待这些订阅。
已在 更新(操作) 区块中调用 Subscriptions 返回的 SubscriptionSet ,因此无需在回调中启动 SubscriptionSet。
示例
var config = new FlexibleSyncConfiguration(user)
{
PopulateInitialSubscriptions = (realm) =>
{
var myNotes = realm.All<Note>().Where(n => n.AuthorId == myUserId);
realm.Subscriptions.Add(myNotes);
}
};
// The task will complete when all the user notes have been downloaded.
var realm = await Realm.GetInstanceAsync(config);