Этот образец определенно нуждается в обновлении.
Сначала вместо SubdocMutateFlags
используйте SubdocPathFlags
. Вместо SubdocPathFlags.XattrPath
используйте SubdocPathFlags.Xattr
.
Далее, для UpsertUser
вам нужно будет указать Домен аутентификации в качестве параметра. Итак, что-то вроде этого:
cluster.CreateManager().UpsertUser(AuthenticationDomain.Local, "jsmith123", "jsmith123pwd", "John Smith",
new Role[]
{ ... } );
С этими изменениями он должен хотя бы скомпилироваться. Тем не менее, даже с учетом этих изменений, я все еще получаю исключение времени выполнения ObjectDisposedException
(поэтому я создал запрос DO C -6347 для этого примера кода, который необходимо просмотреть, и обновлено). Кроме того, этот пример запросит и l oop через весь сегмент, используя первичный ключ. Так что обязательно имейте в виду, что это определенно не то, что вы должны делать в рабочем коде.
Наконец, я бы посоветовал вам обратиться к Couchbase Forums (или к Couchbase Support, если вы корпоративный клиент), чтобы проверить и проверить, является ли использование XATTR правильным инструментом для работы. Вообще говоря, использование XATTR не рекомендуется, за исключением узких, подобных инфраструктуре ситуаций.