.NET

Ya está disponible el SDK .NET 2.3.5 de Couchbase.

Ya está disponible el SDK .NET 2.3.5 de Couchbase.

Hoy lanzamos Couchbase .NET SDK 2.3.5 otra versión de corrección de errores/mantenimiento. En esta versión hemos añadido un nuevo y mejorado modelo de seguridad para pasar credenciales al servidor: SCRAM-SHA1. También hemos añadido algunos commits hacia nuestro objetivo de liberar un SDK compatible con .NET Core en un futuro próximo. Espere una vista previa para desarrolladores en algún momento del próximo mes.

Novedades y cambios

Soporte SCRAM-SHA1

Con el lanzamiento de Couchbase Server 4.5, tenemos una nueva y mejorada característica de seguridad llamada SCRAM-SHA. SCRAM son las siglas de Salted Challenge Request Authentication Mechanism (mecanismo de autenticación de solicitud con sal) y SHA indica el algoritmo utilizado para hacer hash de la contraseña antes de enviarla al servidor. El servidor soporta SHA-1, SHA-256 y SHA-512 (junto con plain y CRAM-MD5 para versiones antiguas del servidor). Cuanto más alto sea el número SHA, más seguro será el hash - dicho esto, el cliente sólo soporta SHA1 a partir de esta versión. La razón de esto es que .NET sólo incluye versiones SHA1 de PBKDF2, que se requiere como parte del proceso SCRAM para el salado de la contraseña. Es posible que en el futuro admitamos SHA-256 y SHA-512 utilizando una biblioteca de terceros.

Lo mejor de SCRAM-SHA1 desde el punto de vista del cliente es que no es necesario realizar ningún cambio en la configuración. Si el cliente detecta que el servidor soporta SHA1, lo utilizará en lugar de CRAM-MD5 (que es menos seguro).

Compatibilidad con .NET Core - ¡Actualización!

Esta versión incluye tres commits destinados específicamente a proporcionar compatibilidad con .NET Core:

  • NCBC-1152: Net Core No Soporta Socket.BeginConnect
  • NCBC-1125: Cambiar SslStream para usar el patrón Async TPL
  • NCBC-1159: Bloqueo de las llamadas asíncronas durante la ejecución de pruebas en NUnit 3

Un saludo especial a Brant Burnett de Software Centeredge ¡con su ayuda en el proyecto Couchbase SDK .Net Core! También, ¡una gran felicitación para él por ser promovido a Experto en Couchbase como parte de nuestro programa de colaboradores de la Comunidad!

Una vez más, espere una vista previa para desarrolladores del SDK .Net Core de Couchbase en un futuro próximo.

Tiempo de consulta N1QL

N1QL Query Timing es una adición a la infraestructura de registro del SDK y es útil para diagnosticar problemas de red entre el cliente y el servidor. Está deshabilitado por defecto y puede ser habilitado estableciendo la propiedad EnableQueryTiming a true en la clase ClientConfiguration:

Muchas gracias a Mike Goldsmith por contribuir con esta función. Mike también ha realizado un par de correcciones en esta versión y prevemos que realizará más en el futuro.

Convergencia SDK

Una cosa a la que hemos sido particularmente sensibles en el equipo SDK de Couchbase, es asegurar la consistencia del modelo de programación a través de los diferentes SDKs: Java, Go, Node.js, Python, PHP, Libcouchbase y .NET. Aunque las diferencias idiomáticas entre plataformas hacen que este sea un objetivo difícil de alcanzar, siempre buscamos mejorar en este aspecto. En esta versión hemos añadido un commit NCBC-1170que hace dos cosas:

  1. Garantiza que cada DocumentResult o OperationResult obtenga una copia de la clave del documento en su propiedad Id.
  2. Añade el documento al DocumentResult cuando se ejecuta una operación Insert, Upsert o Replace.

Esto debería facilitar el avance al siguiente paso en la lógica de su aplicación, ya que el contenido (el documento), la clave y el valor CAS estarán todos disponibles en el DocumentResult.

Notas de la versión - Couchbase .NET client library - Versión 2.3.5

  • [NCBC-1125] - Cambiar SslStream para usar el patrón Async TPL
  • [NCBC-1152] - Net Core no soporta Socket.BeginConnect
  • [NCBC-1080] - Los cubos se abren con una contraseña proporcionada por otro en la configuración .NET SDK
  • [NCBC-1108] - Los métodos Index Mgmt carecen de ContinueOnAnyContext y pueden bloquearse.
  • [NCBC-1157] - Las consultas fallan si DefaultSerializer.ContractResolver es null
  • [NCBC-1158] - Excepción para subdoc get durante rb2out
  • [NCBC-1159] - Bloqueo de llamadas asíncronas al ejecutar pruebas con NUnit 3
  • [NCBC-1161] - Sub Documento - MutateIn no soporta POCO's
  • [NCBC-1162] - Hacer Observe a prueba de fallos cuando se encuentra la mutación del documento
  • [NCBC-1163] - MUX IO - OperationTimeout cuando está activada la Durabilidad Mejorada
  • [NCBC-1164] - La mutación de documentos se indica incorrectamente al realizar la observación basada en CAS
  • [NCBC-1167] - asegúrese de que el README en github puntos claramente a la corriente de inicio utilizando
  • [NCBC-1170] - Hacer que Insert y Upsert devuelvan el Documento - similar a Java SDK
  • [NCBC-1094] - Implementar soporte SCRAM-SHA1
  • [NCBC-1160] - Añadir opción para activar el registro de tiempo N1QL
  • [NCBC-1111] - Elimina el backoff exp. para NMV y lo sustituye por un backoff estático de 100ms.

Cómo conseguirlo

Como siempre, el SDK .NET de Couchbase está disponible en/por:

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Jeff Morris, Ingeniero Superior de Software, Couchbase

Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pasó seis años en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de cómo integrarse con N1QL (lenguaje de consulta).

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.