Lançado o Beta 3 da integração ASP.NET do Couchase!

Hoje lançamos o Beta 3 dos pacotes de integração do Couchbase ASP.NET no NuGet! Formalmente conhecido como Couchbase Caching e Session providers, esse projeto contém ou conterá implementações de várias APIs (Caching/Session providers, Identity, etc.) para integração entre o Couchbase Server e o Microsoft ASP.NET. Eventualmente, o suporte para o .NET Core provavelmente será adicionado, mas isso será feito algum tempo depois que o SDK do .NET oferecer suporte a ele.

Mudanças significativas

Em primeiro lugar, infelizmente, há algumas mudanças significativas entre o Beta 2 e o Beta 3. Na versão beta anterior, usávamos o Ajudante de cluster para gerenciar o escopo/vida útil dos objetos Cluster e Bucket usados pelo provedor de sessão. Isso funcionou bem, mas com o ClusterHelper, você está limitado a abrir um cluster do Couchbase Server por aplicativo. Na maioria dos cenários, isso não é problema - um cluster pode ter vários buckets e você pode abri-los por meio de GetBucket. Em alguns casos, no entanto, você pode ter um aplicativo que abre buckets de vários clusters. Com a versão beta 3, voltamos a abrir e definir o escopo do cluster e do bucket para a instância do provedor de cache ou de sessão. Isso significa que você pode configurar buckets em diferentes clusters para as instâncias do provedor de cache e de sessão.

Para isso, o ClusteHelper foi removido (além de exigir que você o inicialize nas classes Global.asax ou Setup.cs) e a configuração foi reformulada. Portanto, infelizmente, não se trata de uma substituição imediata do Beta 2. Para ver a "nova" forma de configuração, consulte a seção "Como usá-la" abaixo.

O que há no Beta 3?

Observe que os problemas são rastreados em Jira - Se você encontrar um bug ou quiser solicitar um recurso, poderá fazê-lo lá. Aqui está uma lista dos tíquetes que foram resolvido para o Beta 3:

Bug

  • [CBASP-1] - O provedor de estado de sessão do Couchbase não funciona com o projeto WebForm
  • [CBASP-14] - O AspNet não está gerando erro quando o comentário diz que deveria
  • [CBASP-16] - O AspNet tenta fazer referência a dados em uma condição de erro
  • [CBASP-21] - System.ArgumentNullException com o gerenciamento de sessão do ASP.NET

Melhoria

  • [CBASP-17] - Atualizar os pacotes NuGet para o Couchbase.NetClient 2.2.5
  • [CBASP-18] - Adicionar o projeto Couchbase.AspNet.UnitTests
  • [CBASP-19] - Atualizar as dependências de Common.Logging e JSON.NET
  • [CBASP-23] - Inicialização e instalação/configuração do Refactor

Como usá-lo

Observe que estou supondo que você já tenha criado um cluster do Couchbase com dois nós e um bucket do Memcached chamado "my-memcached-bucket". Se você não tiver feito isso, vá agora e faça isso.

Depois de definir sua configuração para o SDK do Couchbase (nas últimas etapas), você precisará fazer três coisas:

  1. Instale o Integração do Couchbase ASP.NET pacote de NuGet
  2. Configure o SDK do Couchbase .NET para usar seu cluster
  3. Configure seu projeto ASP.NET para usar o provedor de sessão personalizado do pacote Couchbase ASP.NET Integration e configure o provedor de sessão personalizado para usar o CouchbaseClientSection que você definiu em etapa 1.

1. Instale o pacote Couchbase ASP.NET Integration do NuGet

Crie ou abra um projeto ASP.NET MVC usando o Visual Studio. Clique em "Tools" (Ferramentas), "NuGet Package Manager" (Gerenciador de pacotes NuGet) e, em seguida, em "Package Manager Console" (Console do gerenciador de pacotes) na barra de menu principal. Em seguida, digite o seguinte:

Isso instalará o Pacote de integração ASP.NET do Couchbase juntamente com todas as dependências necessárias (Couchbase .NET SDK, etc.).

2. Configurar o SDK do Couchbase .NET

Os provedores de cache e de sessão exigem configuração por meio de App.Config ou Web.Config (a configuração JSON, conforme o .NET Core 1.0, ainda não é compatível, mas será em breve!) A primeira coisa que você precisará fazer é adicionar o suporte de configuração para inicializar os objetos de cluster e de bucket. Isso é feito por meio do API de configuração do SDK do Couchbase assim:

Nesse caso, estamos definindo um CouchbaseClientSection chamado "couchbase-session" na parte superior do nosso App.config ou Web.config e, em seguida, fornecendo a seção de configuração real e a configuração que pretendemos usar para o Aglomerado e Balde que o provedor de sessão usará. Nesse caso, temos dois URIs http://a-couchbase-server1:8091/ e http://a-couchbase-server2:8091/ que usaremos para fazer o bootstrap. Também temos uma configuração de bucket definida que abrirá o bucket do Memcached chamado "my-memcached-bucket".

3. Configure o provedor de sessão personalizado

Em seu Web.Config, insira o seguinte:

Isso dirá ao ASP.NET para usar o personalizado provedor de sessão que vem do Integração do Couchbase ASP.NET em vez do projeto padrão, na memória. Também muito IMPORTANTE Observe que o nome do provedor personalizado tem o mesmo nome ("couchbase-session") como o CouchbaseConfigurationSection (Seção de configuração do Couchbase) que você definiu anteriormente e que o valor do balde é o nome ("my-memcached-bucket") do balde que você usará.

Depois de fazer isso, execute seu aplicativo e, em vez de usar o armazenamento de sessão padrão na memória, o ASP.NET usará o servidor Couchbase distribuído e altamente escalável!

Adendo

  1. O projeto do Github é aqui.
  2. Registre um bug ou solicite um recurso aqui.
  3. Faça uma pergunta em nossos fóruns aqui.
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).

8 Comentários

  1. Se eu tiver vários aplicativos ASP.Net, preciso criar um bucket separado para cada um ou todos podem usar o mesmo?

    1. Jeff Morris, engenheiro de software, Couchbase janeiro 7, 2018 em 11:25 am

      Você pode usar o mesmo bucket para vários aplicativos.

  2. oi, esse código funciona bem para mim até eu atualizar o couchbase para o Couchbase Server 5.0.1
    O que estou perdendo?

  3. Jeff Morris, engenheiro de software, Couchbase janeiro 7, 2018 em 11:32 am

    doronps -

    Dê uma olhada aqui para usar o Couchbase.Extensions com o CB Server 5.0: https://github.com/couchbaselabs/couchbase.extensions

    Se ainda assim não conseguir fazê-lo funcionar, publique em forums.couchbase.com - você receberá mais ajuda lá!

    -Jeff

  4. Jeff, para aqueles de nós que ainda estão presos na Idade das Trevas, quando você espera que as integrações ASP.NET sejam atualizadas para funcionar com o CB Server 5?

    1. Jeff Morris, engenheiro de software, Couchbase fevereiro 2, 2018 em 9:01 am

      Oi ash614 -

      Estamos prestes a lançar uma versão beta do ASP.NET Integration 3.0 com suporte para o servidor CB 5.0 e superior: https://github.com/couchbaselabs/couchbase-aspnet/tree/3.0

      Observe que não se trata de um substituto (por isso o 3.0), pois o bootstrapping foi alterado consideravelmente (para melhor, acredito). Os bits devem estar disponíveis no NuGet na próxima semana.

      -Jeff

      1. Oi Jeff,

        Desculpe-me por continuar incomodando, mas você espera que a versão beta 3.0 seja lançada em breve?

        -Ash

        1. Jeff Morris, engenheiro de software, Couchbase fevereiro 21, 2018 em 8:03 pm

          Oi Ash -

          A versão beta do 3.0 está disponível no NuGet: https://www.nuget.org/packages/CouchbaseAspNet/3.0.0-beta

          Trata-se de uma versão beta bastante crua, portanto, espere mudanças. Fique à vontade para postar em forums.couchbase.com ou https://github.com/couchbaselabs/couchbase-aspnet/issues se você tiver algum problema.

          Obrigado,
          Jeff

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.