.NET

O Couchbase .NET SDK 2.3.3 já está disponível!

O Couchbase .NET SDK 2.3.3 já está disponível!

Hoje estamos lançando uma versão de manutenção e correção de bugs do Couchbase .NET SDK. Esta é uma versão de acompanhamento das versões 2.3.0 e 2.3.1 (não há uma versão 2.3.2) e sugerimos que você faça a atualização de acordo. Embora seja, em grande parte, uma versão de correção de bugs, há alguns recursos novos e menores que estamos lançando, bem como uma renomeação de API que torna os métodos mais antigos obsoletos.

Novos recursos e alterações

Métodos assíncronos em lote

Adicionamos uma nova API de métodos assíncronos para agrupar uma série de operações em documentos JSON. Eles permitem que você use o conhecido paradigma async/await para executar uma lista de operações de forma não bloqueada:

Percebeu que estamos especificando que o tipo genérico T é um objeto neste exemplo? Ao fazer isso, podemos combinar documentos de tipos variados; se você restringisse T a um tipo mais específico, todos os documentos do lote precisariam ter o mesmo tipo.

Esses métodos foram adicionados para as seguintes operações:

  • GetDocumentsAsync: obtém um conjunto de documentos com um conjunto de chaves
  • UpsertAsync: atualiza um conjunto existente de documentos ou os insere se eles não existirem
  • InsertAsync: insere um conjunto de documentos com falha, se eles existirem
  • RemoveASync: remove um conjunto de documentos
  • ReplaceAsync: substitui um conjunto de documentos, falhando se eles não existirem

Permitir a configuração programática dos serviços de IO

Há algum tempo, lançamos um novo provedor de IO chamado MUX IONo entanto, só oferecemos suporte à configuração por meio de arquivos App.config ou Web.config. Agora você pode programar seu serviço de IO:

Um grande agradecimento ao membro da comunidade Petr Drastil por enviar um PR para esse recurso!

Atualize o pacote NewtonSoft para a versão 8.0.3

Finalmente, fizemos o upgrade da versão 6.0.8 para a 8.0.3, em grande parte para oferecer suporte a um serializador JSON compatível com o .NET Core.

Renomear GetWithLock para GetAndLock

Isso foi feito para que pudéssemos ter alguma consistência entre os vários SDKs do Couchbase (Java, PHP, etc.). Todos os métodos GetWithLock foram marcados como "obsoletos" usando o ObsoleteAttribute .aspx). Se você estiver usando esses métodos, receberá um aviso do compilador. Observe que esses métodos não serão removidos até que uma versão principal (3.x, por exemplo) do SDK seja lançada.

Suporte a IPv6

Agora você pode definir uma configuração global para que o cliente use somente entradas IPv6 ao resolver um nome de domínio totalmente qualificado (FQDN). Eu classificaria esse recurso como "experimental", pois ele não foi testado exaustivamente, portanto, cuidado! A menos que você esteja usando uma rede puramente IPv6, eu não usaria esse recurso!

Problemas conhecidos

Há um problema conhecido que foi descoberto tardiamente nos testes: os comandos do subdocumento podem falhar com uma NotImplementedException durante cenários de failover/swap/rebalanceamento. Isso será corrigido em uma versão posterior - você pode ler mais sobre isso em Jira.

Notas de versão - Biblioteca cliente do Couchbase .NET - Versão 2.3.3

  • [NCBC-1127] - Expor o CAS em fragmentos de documentos
  • [NCBC-1143] - Subdocument Exists sempre retorna true
  • [NCBC-1146] - substituir GetWithLock por GetAndLock
  • [NCBC-1148] - MemcachedBucket.CreateManager lança NotSupportedException
  • [NCBC-1149] - Correção de um problema na contagem de referências de baldes
  • [NCBC-1151] - Subdocumento - A substituição no singular sempre falha
  • [NCBC-1154] - A chamada de ToString em QueryResult pode gerar NRE
  • [NCBC-1092] - Atualizar a dependência do NewtonSoft para a versão 8.x
  • [NCBC-1116] - Adicionar métodos async/await para operações em massa
  • [NCBC-1118] - Permitir configuração programática para serviços de IO
  • [NCBC-1087] - Suporte a IPv6 na configuração do cliente
  • [NCBC-1150] - Subdocumento - A pesquisa falha ao obter um subdocumento hierárquico

Agradecimentos especiais

Um agradecimento especial a todos os membros da comunidade que contribuíram para esta versão, seja contribuindo com um pull-request, respondendo ou fazendo uma pergunta nos fóruns ou criando um relatório de bug ou uma solicitação de recurso no jira, principalmente Brant Burnett do CenterEdge Software.

Como obtê-lo

O SDK está disponível para download diretamente, por meio do NuGet, ou clonando e extraindo o repositório do Github:

  • Faça o download dos binários em Couchbase.
  • Os pacotes podem ser encontrados em Nuget.org.
  • O repositório está em Github.
Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Jeff Morris, engenheiro de software sênior, Couchbase

Jeff Morris é engenheiro de software sênior da Couchbase. Antes de ingressar na Couchbase, Jeff passou seis anos na Source Interlink como arquiteto da Web corporativa. Jeff é responsável pelo desenvolvimento dos SDKs do Couchbase e pela integração com o N1QL (linguagem de consulta).

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.