Partilhar via


Visão geral .NET.NET Aspire

.NET Aspire é um conjunto de ferramentas, modelos e pacotes para criar aplicativos observáveis e prontos para produção. .NET Aspire é fornecido por meio de uma coleção de pacotes NuGet que inicializam ou melhoram desafios específicos com o desenvolvimento de aplicativos modernos. Os aplicativos atuais geralmente consomem um grande número de serviços, como bancos de dados, mensagens e cache, muitos dos quais são suportados por meio do .NET.NET Aspire Integrations. Para obter informações sobre suporte, consulte a Política de Suporte .NET.NET Aspire.

Porquê .NET.NET Aspire?

.NET .NET Aspire melhora a experiência de criação de aplicativos que têm uma variedade de projetos e recursos. Com aprimoramentos de produtividade em tempo de desenvolvimento que emulam cenários implantados, você pode desenvolver rapidamente aplicativos interconectados. Projetado para flexibilidade, o .NET.NET Aspire permite que você substitua ou estenda peças com suas ferramentas e fluxos de trabalho preferidos. Os principais recursos incluem:

  • Dev-Time Orchestration: .NET.NET Aspire fornece recursos para executar e conectar aplicativos de vários projetos, recursos de contêiner e outras dependências para ambientes de desenvolvimento local .
  • Integrações: .NET Aspire integrações são pacotes NuGet para serviços comumente usados, como Redis ou Postgres, com interfaces padronizadas que garantem que eles se conectem de forma consistente e fluida com o seu aplicativo.
  • Tooling: .NET Aspire vem com modelos de projeto e experiências de uso de ferramentas para Visual Studio, Visual Studio Codee .NET CLI para facilitar a criação e interação com projetos .NET.NET Aspire.

Orquestração durante o desenvolvimento

Além .NET.NET Aspire, a "orquestração" se concentra principalmente em aprimorar a experiência de desenvolvimento local, simplificando o gerenciamento da configuração e das interconexões do seu aplicativo. É importante notar que a orquestração do .NET.NET Aspirenão se destina a substituir os sistemas robustos usados em ambientes de produção, como o Kubernetes. Em vez disso, é um conjunto de abstrações que simplificam a configuração da descoberta de serviços, variáveis de ambiente e configurações de contêiner, eliminando a necessidade de lidar com detalhes de implementação de baixo nível. Com .NET.NET Aspire, seu código tem uma experiência de inicialização consistente em qualquer máquina de desenvolvimento sem a necessidade de etapas manuais complexas, facilitando o gerenciamento durante a fase de desenvolvimento.

.NET .NET Aspire a orquestração ajuda com as seguintes preocupações:

  • Composição da aplicação: especifique os .NET projetos, contêineres, executáveis e recursos de nuvem que compõem a aplicação.
  • Descoberta de serviço e gerenciamento de cadeia de conexão: o host do aplicativo injeta as cadeias de conexão, configurações de rede e informações de descoberta de serviço corretas para simplificar a experiência do desenvolvedor.

Por exemplo, usando .NET Aspire, o código a seguir cria um recurso de contêiner Redis local, aguarda que ele fique disponível e, em seguida, configura a cadeia de conexão apropriada no projeto "frontend" com algumas chamadas de método auxiliar:

// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);

// Add a Redis server to the application.
var cache = builder.AddRedis("cache");

// Add the frontend project to the application and configure it to use the 
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
       .WithReference(cache)
       .WaitFor(cache);

Para obter mais informações, consulte .NET.NET Aspire visão geral da orquestração.

Importante

A chamada para AddRedis cria um novo contêiner de Redis em seu ambiente de desenvolvimento local. Se preferir usar uma instância de Redis existente, você pode usar o método AddConnectionString para fazer referência a uma cadeia de conexão existente. Para obter mais informações, consulte Fazer referência a recursos existentes.

.NET .NET Aspire integrações

.NET .NET Aspire integrações são pacotes NuGet projetados para simplificar conexões com serviços e plataformas populares, como Redis ou PostgreSQL. .NET .NET Aspire integrações lidam com a configuração e interação de recursos na nuvem por meio de padrões padronizados, como a adição de verificações de integridade e telemetria. As integrações são duplas - as integrações de "hospedagem" representam o serviço ao qual se está a conectar e as integrações de "cliente" representam o cliente ou consumidor desse serviço. Em outras palavras, para muitos pacotes de hospedagem, há um pacote de cliente correspondente que lida com a conexão de serviço dentro do seu código.

Cada integração é projetada para funcionar com o host do aplicativo .NET.NET Aspire e suas configurações são injetadas automaticamente por fazendo referência a recursos nomeados. Em outras palavras, se Example.ServiceFoo referenciar Example.ServiceBar, Example.ServiceFoo herdará as configurações necessárias da integração para permitir que os serviços se comuniquem entre si automaticamente.

Por exemplo, considere o seguinte código usando a integração do .NET.NET Aspire Service Bus:

builder.AddAzureServiceBusClient("servicebus");

O método AddAzureServiceBusClient lida com as seguintes preocupações:

  • Registra um ServiceBusClient como um singleton no contêiner DI para conexão com Azure Service Bus.
  • Aplica configurações ServiceBusClient diretamente através de código ou configuração.
  • Permite verificações de integridade, registos de log e telemetria correspondentes específicas para o uso do Azure Service Bus.

Uma lista completa das integrações disponíveis é detalhada na página de visão geral de integrações .NET.NET Aspire.

Modelos e ferramentas de projeto

.NET Aspire fornece um conjunto de modelos de projeto e experiências de ferramentas para Visual Studio, Visual Studio Codee a .NET CLI. Esses modelos são projetados para ajudá-lo a criar e interagir com .NET Aspire projetos ou adicionar .NET Aspire à sua base de código existente. Os modelos incluem um conjunto de padrões opinativos para ajudá-lo a começar rapidamente - por exemplo, ele tem código clichê para ativar verificações de integridade e fazer login em aplicativos .NET. Esses padrões são totalmente personalizáveis, para que você possa editá-los e adaptá-los para atender às suas necessidades.

.NET .NET Aspire modelos também incluem métodos de extensão pré-definidos que lidam com configurações de serviço comuns para você.

builder.AddServiceDefaults();

Para obter mais informações sobre o que AddServiceDefaults faz, consulte .NETpredefinições de serviço.NET Aspire.

Quando adicionado ao seu arquivo Program.cs, o código anterior lida com as seguintes preocupações:

  • OpenTelemetry: Configura registro formatado, métricas de tempo de execução, medidores internos e rastreamento para ASP.NET Core, gRPC e HTTP. Para obter mais informações, consulte .NET.NET Aspire telemetria.
  • Verificações de integridade padrão: adiciona endpoints padrão de verificação de integridade que as ferramentas podem consultar para monitorizar o seu aplicativo. Para obter mais informações, consulte .NET verificações de integridade do aplicativo em C#.
  • de descoberta de serviço: habilita de descoberta de serviço para o aplicativo e configura HttpClient de acordo.

Próximos passos