Я запустил новую ROS на Google Cloud Compute ubuntu vm и пытаюсь писать объекты через проект Xamarin.Android:
public class TestObject : RealmObject
{
public string TestString { get; set; }
public int TestInt { get; set; }
}
//new non-existent realm, I also tried a public realm -> realm://###.###.###.###/newrealm
var realmUrl = "realm://###.###.###.###/~/newrealm";
//preconfigured admin credentials
var creds = Credentials.UsernamePassword("[email protected]", "password", false);
var user = await User.LoginAsync(creds, new Uri("http://###.###.###.###:9080"));
var config = new SyncConfiguration(user, new Uri(realmUrl));
var realm = Realm.GetInstance(config);
//this event never fires
Session.Error += (sender, errorArgs) => { var ex = errorArgs.Exception; };
//left this in just to be sure there were no permissions issues
await user.ApplyPermissionsAsync(PermissionCondition.Default, realmUrl, AccessLevel.Write);
//this will contain objects on subsequent runs
var existing = realm.All<TestObject>().ToList();
//also tried realm.Write(() => { });
using (var trans = realm.BeginWrite())
{
var test = new TestObject();
test.TestString = "test";
test.TestInt = 99;
realm.Add(test);
trans.Commit();
};
The result is that the new realm is created successfully on the remote ROS, but it remains empty according to the dashboard and the Realm Browser even after multiple runs of this code. You'll notice in my comment that the local realm does contain the written objects, just not the remote. The server logs show a lot of messages when this code is executed, but there are no warnings or errors. What have I missed?
await realm.GetSession().WaitForUploadAsync()
- после завершения локальные данные будут синхронизированы с сервером объектов Realm. Вот документы: realm.io/ документы/xamarin/1.6.0/api/ссылка/ - person Nikola Irinchev   schedule 30.08.2017realmUrl
, похоже, не хватает порта в опубликованном вами фрагменте - это так в вашем приложении или просто оплошность при вставке кода на SO? Если это так, то вам нужен порт типаrealm://###.###.###.###:9080/~/newrealm
- person Nikola Irinchev   schedule 30.08.2017