Я пытаюсь использовать couchbase для онлайн и офлайн базы данных в своем приложении xamarin. автономная часть работает нормально, но не синхронизируется.

Я последовал этому руководству: https://docs.couchbase.com/userprofile- couchbase-mobile / sync / userprofile / xamarin / userprofile_sync.html

Я установил couchbase server, создал корзину с именем: userprofile, и пользователя, и я включил роли администратора доступа к приложениям и только для чтения. также я установил шлюз синхронизации и настроил его, вот мой файл конфигурации .json

{
"log": ["*"],
"databases": {
"userprofile": {
  "server": "http://127.0.0.1:8091",
  "bucket": "user-profile",
  "username": "Maria", 
  "password": "123456", 
  "enable_shared_bucket_access": true, 
  "import_docs": true,
  "num_index_replicas": 0, 
  "delta_sync" :{"enabled":true},
  "users": {
  "Maria": { "password": "123456"},
    "GUEST": { "disabled": false, "admin_channels": ["*"] }
  },
  "sync": `function (doc, oldDoc) {
    if (doc.sdk) {
      channel(doc.sdk);
    }
  }`
 }
}
}

И я использовал эту команду для настройки шлюза синхронизации:

C: \ Program Files \ Couchbase \ Sync Gateway \ sync_gateway sync-gateway-config-userprofile-walrus.json

Также я изменил URL-адрес синхронизации на ws: //10.0.2.2: 4984, потому что я использую эмулятор Android. но он не синхронизировался между устройствами, может кто-нибудь мне помочь?

0
Maria Nabil 26 Ноя 2019 в 17:35

1 ответ

Лучший ответ

1) Как вы проверяете, работает ли синхронизация (какие шаги вы выполнили для тестирования)? Если вы следуете инструкциям, здесь < / a>, это не будет работать с указанной вами конфигурацией. Потому что единственный допустимый пользователь, которого вы настроили в своем файле конфигурации, - это тот, у кого учетные данные «имя пользователя» и «пароль», а шаги в руководстве указывают другое имя пользователя / пароль. Поэтому убедитесь, что вы вошли в свое приложение с учетными данными, которые есть в вашем файле конфигурации, и попробуйте

2) Вы указали, что у вас работает сервер Couchbase, который вы настроили для доступа к шлюзу синхронизации. Но ваш файл конфигурации указывает, что вы используете режим "моржа" (режим "Моржа" - это режим только памяти, предназначенный только для целей разработки / тестирования). Другими словами, в режиме моржа вы не указываете на настоящий сервер couchbase.

Если вы хотите выполнить синхронизацию с внутренним сервером Couchbase (что вам необходимо), замените "морж:" в " server " в файле конфигурации, чтобы указать на сервер couchbase.

3) Лучший ресурс для устранения неполадок - журналы Sync Gateway. Это должно дать достаточно подсказок относительно того, что не так с синхронизацией. Опубликуйте сообщения об ошибках, которые вы видите, если приведенные выше советы не работают.

4) Ознакомьтесь с этим руководством для получения соответствующей информации. Вероятно, из этого пункта

1
rajagp 26 Ноя 2019 в 16:12