.NET

Lanzamiento de la beta 3 de la integración ASP.NET de Couchase.

Hoy hemos lanzado la Beta 3 de los paquetes Couchbase ASP.NET Integration en NuGet. Formalmente conocido como Couchbase Caching and Session providers, este proyecto contiene o contendrá implementaciones de varias APIs (Caching/Session providers, Identity, etc) para la integración entre Couchbase Server y Microsoft ASP.NET. Eventualmente se añadirá soporte para .NET Core, pero eso será dentro de un tiempo después de que el SDK de .NET lo soporte.

Cambios de última hora

En primer lugar, lamentablemente hay un par de cambios de última hora entre la Beta 2 y la Beta 3. En la beta anterior, utilizábamos el ClusterHelper para gestionar el alcance/tiempo de vida de los objetos Cluster y Bucket utilizados por el Session Provider. Esto funcionaba bien, pero con el ClusterHelper, estás limitado a abrir un cluster de Couchbase Server por aplicación. En la mayoría de los escenarios, esto está bien - un cluster puede tener múltiples buckets y puedes abrirlos vía GetBucket. En algunos casos, sin embargo, puedes tener una aplicación que abra buckets desde múltiples clusters. Con Beta 3, volvimos a abrir y asignar el Cluster y el bucket a la instancia del proveedor de Caching o de Sesión. Esto significa que puedes configurar buckets en diferentes clusters para tus instancias de Caching y Session provider.

Para ello, se ha eliminado el ClusteHelper (junto con el requisito de inicializarlo en las clases Global.asax o Setup.cs) y se ha refactorizado la configuración. Así que, desafortunadamente, no es un reemplazo para Beta 2. Para ver la "nueva" forma de configuración, consulte la sección "Cómo usarlo" a continuación.

¿Qué hay en la Beta 3?

Tenga en cuenta que el seguimiento de las incidencias se realiza en Jira - Si encuentra un error o desea solicitar una función, puede hacerlo allí. Esta es una lista de los tickets que fueron resuelto para la Beta 3:

Error

  • [CBASP-1] - Couchbase session state provider no funciona con el proyecto WebForm
  • [CBASP-14] - AspNet no arroja error cuando el comentario dice que debería hacerlo
  • [CBASP-16] - AspNet intenta hacer referencia a datos en una condición de error
  • [CBASP-21] - System.ArgumentNullException con ASP.NET Session Management

Mejora

  • [CBASP-17] - Actualizar paquetes NuGet a Couchbase.NetClient 2.2.5
  • [CBASP-18] - Añadir proyecto Couchbase.AspNet.UnitTests
  • [CBASP-19] - Actualizar las dependencias de Common.Logging y JSON.NET
  • [CBASP-23] - Refactorizar la inicialización y la configuración

Cómo utilizarlo

Ten en cuenta que estoy asumiendo que ya has creado un Cluster Couchbase con dos nodos y un bucket Memcached llamado "mi-memcached-bucket". Si no lo has hecho, ve ahora y haz esto.

Una vez que tengas tu configuración para el SDK de Couchbase (de los últimos pasos), necesitarás hacer tres cosas:

  1. Instale el Integración ASP.NET de Couchbase paquete de NuGet
  2. Configure el SDK .NET de Couchbase para utilizar su clúster
  3. Configure su proyecto ASP.NET para utilizar el proveedor de sesión personalizado del paquete de integración ASP.NET de Couchbase y configure el proveedor de sesión personalizado para que utilice la función CouchbaseClientSection que definió en paso 1.

1. Instalar el paquete Couchbase ASP.NET Integration desde NuGet

Cree o abra un proyecto ASP.NET MVC con Visual Studio. Haga clic en "Herramientas", "Gestor de paquetes NuGet" y, a continuación, en "Consola del gestor de paquetes" en la barra de menú principal. A continuación, escriba lo siguiente:

Esto instalará el Paquete de integración ASP.NET de Couchbase junto con todas las dependencias necesarias (Couchbase .NET SDK, etc).

2. Configurar el SDK .NET de Couchbase

Los proveedores Caching y Session requieren configuración a través de App.Config o Web.Config (la configuración JSON como .NET Core 1.0 aún no está soportada, pero lo estará pronto). Lo primero que hay que hacer es añadir el soporte de configuración para inicializar los objetos cluster y bucket. Esto se hace mediante el método API de configuración del SDK de Couchbase así:

En este caso estamos definiendo un CouchbaseClientSection llamado "couchbase-session" en la parte superior de nuestro App.config o Web.config y, a continuación, proporcionando la sección de configuración real y la configuración que tenemos la intención de utilizar para la aplicación Grupo y Cubo que utilizará el proveedor de sesión. En este caso tenemos dos URI's https://a-couchbase-server1:8091/ y https://a-couchbase-server2:8091/ que utilizaremos para arrancar. También tenemos definida una configuración de bucket que abrirá el bucket de Memcached llamado "mi-memcached-bucket".

3. Configurar el proveedor de sesión personalizado

En su Web.Config, inserte lo siguiente:

Esto le dirá a ASP.NET que utilice el personalizado proveedor de sesiones que proviene del Integración ASP.NET de Couchbase en lugar del proyecto en memoria por defecto. Además IMPORTANTE tenga en cuenta que el nombre del proveedor personalizado es el mismo ("couchbase-session") como el CouchbaseConfigurationSection que definió anteriormente y que el valor del cubo es el nombre ("mi-memcached-bucket") del cubo que vaya a utilizar.

Una vez hecho esto, ejecute su aplicación y, en lugar de utilizar el almacén de sesiones en memoria por defecto, ASP.NET utilizará el servidor distribuido y altamente escalable Couchbase.

Anexo

  1. El proyecto de Github es aquí.
  2. Registrar un error o solicitar una función aquí.
  3. Haga una pregunta en nuestros foros aquí.
Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Jeff Jeff Morris, ingeniero de software sénior, 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).

8 Comentarios

  1. Si tengo varias aplicaciones ASP.Net, ¿debo crear un bucket distinto para cada una o todas pueden utilizar el mismo?

    1. Jeff Morris, Ingeniero de Software, Couchbase enero 7, 2018 a 11:25 am

      Puede utilizar el mismo cubo para varias aplicaciones.

  2. hola este codigo me funciono bien hasta que actualice couchbase a Couchbase Server 5.0.1
    ¿qué me estoy perdiendo?

  3. Jeff Morris, Ingeniero de Software, Couchbase enero 7, 2018 a 11:32 am

    doronps -

    Echa un vistazo aquí para usar Couchbase.Extensions con CB Server 5.0: https://github.com/couchbaselabs/couchbase.extensions

    Si aún así no consigues que funcione, entonces sigue adelante y publica en forums.couchbase.com - ¡allí recibirás más ayuda!

    -Jeff

  4. Jeff, para aquellos de nosotros que seguimos atrapados en la Edad Media, ¿cuándo esperas que se actualicen las integraciones ASP.NET para que funcionen con CB Server 5?

    1. Jeff Morris, Ingeniero de Software, Couchbase febrero 2, 2018 a 9:01 am

      Hola ash614 -

      Estamos a punto de publicar una versión beta de ASP.NET Integration 3.0 compatible con CB server 5.0 y versiones superiores: https://github.com/couchbaselabs/couchbase-aspnet/tree/3.0

      Tenga en cuenta que no es una gota en la sustitución (de ahí la 3.0), porque bootstrapping se ha cambiado considerablemente (para mejor, creo). Los bits deben estar en NuGet en la próxima semana o así.

      -Jeff

      1. Hola Jeff,

        Perdona que siga molestando, pero ¿esperas que se publique pronto la beta 3.0?

        -Ash

        1. Jeff Morris, Ingeniero de Software, Couchbase febrero 21, 2018 a 8:03 pm

          Hola Ash -

          La versión beta de 3.0 está disponible en NuGet: https://www.nuget.org/packages/CouchbaseAspNet/3.0.0-beta

          Se trata de una beta en bruto, así que prepárate para cambios. Siéntase libre de publicar en forums.couchbase.com o https://github.com/couchbaselabs/couchbase-aspnet/issues si tiene algún problema.

          Gracias,
          Jeff

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.