diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 8dd33696..90766594 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,6 +1,6 @@ -# .NET Aspire Workshop +# Aspire Workshop -A comprehensive workshop for building cloud-native applications with .NET Aspire, featuring a weather application with Blazor frontend, ASP.NET Core API, Redis caching, PostgreSQL database, and AI integration. +A comprehensive workshop for building cloud-native applications with Aspire, featuring a weather application with Blazor frontend, ASP.NET Core API, Redis caching, PostgreSQL database, and AI integration. Always reference these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here. @@ -11,8 +11,8 @@ Always reference these instructions first and fallback to search or bash command - Install .NET 9 SDK: `curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 9.0` - Set PATH: `export PATH="/home/runner/.dotnet:$PATH"` - Install Docker Desktop or Podman for container resources -- Install .NET Aspire CLI: `dotnet tool install -g Aspire.Cli` -- Install .NET Aspire templates: `dotnet new install Aspire.ProjectTemplates::9.5.0 --force` +- Install Aspire CLI: `dotnet tool install -g Aspire.Cli` +- Install Aspire templates: `dotnet new install Aspire.ProjectTemplates::9.5.0 --force` ### Build Commands @@ -64,7 +64,7 @@ Always manually validate changes with these complete scenarios: - `MyWeatherHub/` - Blazor Server web application - `Api/` - ASP.NET Core Web API for weather data - **complete/** - Completed workshop solution with Aspire orchestration - - `AppHost/` - .NET Aspire orchestration project (main entry point) + - `AppHost/` - Aspire orchestration project (main entry point) - `ServiceDefaults/` - Shared service configuration - `IntegrationTests/` - Aspire integration tests - `MyWeatherHub/` - Enhanced Blazor app with database integration @@ -140,4 +140,4 @@ The `workshop/` folder contains 15 modules covering: - **Build errors on .NET 8**: Install .NET 9 SDK as shown in prerequisites - **Containers not starting**: Check Docker Desktop is running and has sufficient resources -The workshop teaches cloud-native development patterns using .NET Aspire's orchestration, service discovery, telemetry, and integration capabilities in a practical weather application scenario. +The workshop teaches cloud-native development patterns using Aspire's orchestration, service discovery, telemetry, and integration capabilities in a practical weather application scenario. diff --git a/.github/prompts/test-workshop.prompt.md b/.github/prompts/test-workshop.prompt.md index 9fa9be66..dac2f6bf 100644 --- a/.github/prompts/test-workshop.prompt.md +++ b/.github/prompts/test-workshop.prompt.md @@ -3,7 +3,7 @@ mode: agent description: Testing procedure for workshop completion. This includes verifying code correctness, documentation clarity, and overall user experience using the new per-unit directory structure. --- -You are an intelligent developer validating this .NET Aspire workshop. You will step through modules 1–9 only, using the documentation under the `workshop/` folder and the `start` and `complete` solutions. You will test code builds, run integration tests, and review the docs for clarity and flow. If any requirements are unclear, you will ask clarifying questions and document assumptions. +You are an intelligent developer validating this Aspire workshop. You will step through modules 1–9 only, using the documentation under the `workshop/` folder and the `start` and `complete` solutions. You will test code builds, run integration tests, and review the docs for clarity and flow. If any requirements are unclear, you will ask clarifying questions and document assumptions. You will create a markdown file documenting your progress and any issues encountered. Include a section for recommended documentation improvements for any modules that were unclear or required assumptions. diff --git a/README.es.md b/README.es.md index 3402f7da..21bc7953 100644 --- a/README.es.md +++ b/README.es.md @@ -1,26 +1,26 @@ -# Aprendamos .NET Aspire +# Aprendamos Aspire -Ven y aprende todo sobre [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/), una pila de tecnología lista para la nube para construir aplicaciones distribuidas, observables y listas para producción. .NET Aspire se puede agregar a cualquier aplicación, independientemente de su tamaño y escala, para ayudarte a construir aplicaciones mejores y más rápidas. +Ven y aprende todo sobre [Aspire](https://learn.microsoft.com/dotnet/aspire/), una pila de tecnología lista para la nube para construir aplicaciones distribuidas, observables y listas para producción. Aspire se puede agregar a cualquier aplicación, independientemente de su tamaño y escala, para ayudarte a construir aplicaciones mejores y más rápidas. Este taller utiliza **.NET Aspire 9.4** y está diseñado para **.NET 9** (**.NET 8** también es compatible). -.NET Aspire simplifica el desarrollo de aplicaciones con: +Aspire simplifica el desarrollo de aplicaciones con: - **Orquestación**: Orquestación incorporada con un motor de flujo de trabajo simple pero potente. Utiliza C# y API familiares sin necesidad de YAML. Agrega fácilmente servicios en la nube populares, conecta a tus proyectos y ejecútalos localmente con un solo clic. - **Descubrimiento de servicios**: Inyección automática de las cadenas de conexión correctas o configuraciones de red y la información de descubrimiento de servicios para simplificar la experiencia del desarrollador. - **Componentes**: Componentes incorporados para servicios en la nube comunes como bases de datos, colas y almacenamiento. Integrados con registro, comprobaciones de salud, telemetría y más. -- **Panel de control**: Visualiza datos en vivo de OpenTelemetry sin necesidad de configuración. El panel de control para desarrolladores de .NET Aspire muestra registros, variables de entorno, trazas distribuidas, métricas y más para verificar rápidamente el comportamiento de la aplicación. +- **Panel de control**: Visualiza datos en vivo de OpenTelemetry sin necesidad de configuración. El panel de control para desarrolladores de Aspire muestra registros, variables de entorno, trazas distribuidas, métricas y más para verificar rápidamente el comportamiento de la aplicación. - **Despliegue**: Gestiona la inyección de las cadenas de conexión correctas o configuraciones de red y la información de descubrimiento de servicios para simplificar la experiencia del desarrollador. -- **Y mucho más**: .NET Aspire está repleto de características que a los desarrolladores les encantarán y que te ayudarán a ser más productivo. +- **Y mucho más**: Aspire está repleto de características que a los desarrolladores les encantarán y que te ayudarán a ser más productivo. -Obtén más información sobre .NET Aspire con los siguientes recursos: +Obtén más información sobre Aspire con los siguientes recursos: - [Documentación](https://learn.microsoft.com/dotnet/aspire) - [Ruta de aprendizaje de Microsoft Learn](https://learn.microsoft.com/training/paths/dotnet-aspire/) -- [Videos de .NET Aspire](https://aka.ms/aspire/videos) +- [Videos de Aspire](https://aka.ms/aspire/videos) - [Aplicación de muestra de referencia eShop](https://github.com/dotnet/eshop) -- [Ejemplos de .NET Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [Preguntas frecuentes de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Ejemplos de Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [Preguntas frecuentes de Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## Localización @@ -34,7 +34,7 @@ Estos materiales del taller están disponibles en los siguientes idiomas: - [Français](./README.fr.md) - [Português (PT-BR)](./README.pt-br.md) -También puedes ver los eventos en vivo de Let's Learn .NET Aspire para los siguientes idiomas: +También puedes ver los eventos en vivo de Let's Learn Aspire para los siguientes idiomas: - [Inglés](https://www.youtube.com/watch?v=8i3FaHChh20) - [한국어](https://www.youtube.com/watch?v=rTpNgMaVM6g) @@ -46,7 +46,7 @@ También puedes ver los eventos en vivo de Let's Learn .NET Aspire para los sigu ## Taller -Este taller de .NET Aspire forma parte de la serie [Aprendamos .NET](https://aka.ms/letslearndotnet). Este taller está diseñado para ayudarte a aprender sobre .NET Aspire y cómo utilizarlo para construir aplicaciones listas para la nube. +Este taller de Aspire forma parte de la serie [Aprendamos .NET](https://aka.ms/letslearndotnet). Este taller está diseñado para ayudarte a aprender sobre Aspire y cómo utilizarlo para construir aplicaciones listas para la nube. ### Prerequisitos diff --git a/README.fr.md b/README.fr.md index c85dea55..df435174 100644 --- a/README.fr.md +++ b/README.fr.md @@ -1,26 +1,26 @@ -# Apprenons .NET Aspire +# Apprenons Aspire -Venez apprendre tout à propos de [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/), une pile prête pour le cloud pour créer des applications distribuées observables, prêtes pour la production.​ .NET Aspire peut être ajouté à n'importe quelle application, quelles que soient sa taille et sa portée, pour vous aider à créer de meilleures applications plus rapidement.​ +Venez apprendre tout à propos de [Aspire](https://learn.microsoft.com/dotnet/aspire/), une pile prête pour le cloud pour créer des applications distribuées observables, prêtes pour la production.​ Aspire peut être ajouté à n'importe quelle application, quelles que soient sa taille et sa portée, pour vous aider à créer de meilleures applications plus rapidement.​ Cet atelier utilise **.NET Aspire 9.4** et est conçu pour **.NET 9** (**.NET 8** est également pris en charge). -.NET Aspire simplifie le développement d'applications avec : +Aspire simplifie le développement d'applications avec : - **Orchestration** : Orchestration intégrée avec un moteur de workflow simple mais puissant. Utilisez C# et des API familières sans une seule ligne de YAML. Ajoutez facilement des services cloud populaires, connectez-les à vos projets et exécutez-les localement en un seul clic. - **Découverte de services** : Injection automatique des chaînes de connexion ou des configurations réseau appropriées et des informations de découverte de services pour simplifier l'expérience du développeur. - **Composants** : Composants intégrés pour les services cloud courants tels que les bases de données, les files d'attente et le stockage. Intégré à la journalisation, aux contrôles de santé, à la télémétrie, etc. -- **Tableau de bord** : Consultez les données OpenTelemetry en direct sans aucune configuration requise. Lancé par défaut lors de l'exécution, le tableau de bord du développeur de .NET Aspire affiche les journaux, les variables d'environnement, les traces distribuées, les métriques et bien plus encore pour vérifier rapidement le comportement de l'application. +- **Tableau de bord** : Consultez les données OpenTelemetry en direct sans aucune configuration requise. Lancé par défaut lors de l'exécution, le tableau de bord du développeur de Aspire affiche les journaux, les variables d'environnement, les traces distribuées, les métriques et bien plus encore pour vérifier rapidement le comportement de l'application. - **Déploiement** : Gère l'injection des bonnes chaînes de connexion ou configurations réseau et des informations de découverte de services pour simplifier l'expérience du développeur. -- **Bien plus encore** : .NET Aspire regorge de fonctionnalités que les développeurs adoreront et vous aideront à être plus productif. +- **Bien plus encore** : Aspire regorge de fonctionnalités que les développeurs adoreront et vous aideront à être plus productif. -Apprenez-en davantage sur .NET Aspire avec les ressources suivantes : +Apprenez-en davantage sur Aspire avec les ressources suivantes : - [Documentation](https://learn.microsoft.com/dotnet/aspire) - [Parcours de formation Microsoft Learn](https://learn.microsoft.com/en-us/training/paths/dotnet-aspire/) -- [Vidéos .NET Aspire](https://aka.ms/aspire/videos) +- [Vidéos Aspire](https://aka.ms/aspire/videos) - [Exemple d'application de boutique en ligne](https://github.com/dotnet/eshop) -- [Plusieurs exemple .NET Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [FAQ .NET Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Plusieurs exemple Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [FAQ Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## Localisation @@ -33,7 +33,7 @@ Le matériel de cet atelier est disponible dans les langues suivantes : - [Français](./README.fr.md) - [Português (PT-BR)](./README.pt-br.md) -Vous pouvez également regarder les événements de en direct (ou sur demande si l'évènement est passé) **Let's Learn .NET Aspire** pour les langues suivantes : +Vous pouvez également regarder les événements de en direct (ou sur demande si l'évènement est passé) **Let's Learn Aspire** pour les langues suivantes : - [anglais](https://www.youtube.com/watch?v=8i3FaHChh20) - [한국어](https://www.youtube.com/watch?v=rTpNgMaVM6g) @@ -45,7 +45,7 @@ Vous pouvez également regarder les événements de en direct (ou sur demande si ## Atelier (Workshop) -Cet atelier .NET Aspire fait partie de la série [Let's Learn .NET](https://aka.ms/letslearndotnet). Cet atelier est conçu pour vous aider à en savoir plus sur .NET Aspire et comment l'utiliser pour créer des applications prêtes pour le cloud. +Cet atelier Aspire fait partie de la série [Let's Learn .NET](https://aka.ms/letslearndotnet). Cet atelier est conçu pour vous aider à en savoir plus sur Aspire et comment l'utiliser pour créer des applications prêtes pour le cloud. ### Prérequis diff --git a/README.jp.md b/README.jp.md index 2fec67ea..628a8d85 100644 --- a/README.jp.md +++ b/README.jp.md @@ -1,30 +1,30 @@ -# .NET Aspire Workshop +# Aspire Workshop -[.NET Aspire](https://learn.microsoft.com/dotnet/aspire/) について学びましょう。.NET Aspire はサイズやスケールに関係なく、あらゆるアプリケーションに追加でき、より優れたアプリケーションを迅速に構築出来ます。 +[Aspire](https://learn.microsoft.com/dotnet/aspire/) について学びましょう。Aspire はサイズやスケールに関係なく、あらゆるアプリケーションに追加でき、より優れたアプリケーションを迅速に構築出来ます。 このワークショップは **.NET Aspire 9.4** を使用し、**.NET 9** 向けに設計されています(**.NET 8** もサポートされています)。 -.NET Aspire はアプリケーションの開発を効率化します。 +Aspire はアプリケーションの開発を効率化します。 - **オーケストレーション**: シンプルで協力なワークフロによる組み込みオーケストレーション。C# と慣れ親しんだ API を使用し、YAML を 1 行も書くことなく利用できます。人気のクラウドサービスを簡単に追加し、プロジェクトに接続して、ワンクリックでローカルで実行できます。 - **サービスディスカバリー**: 適切な接続文字列やネットワーク構成、サービスディスカバリー情報を自動的に挿入して、開発者の体験を簡素化します。 - **コンポーネント**: データベース、キュー、ストレージなどの一般的なクラウドサービス向けの組み込みコンポーネント。ロギング、ヘルスチェック、テレメトリなどと統合されています。 -- **ダッシュボード**: 設定不要でリアルタイムの OpenTelemetry データを表示します。実行時にデフォルトで起動する .NET Aspire の開発者ダッシュボードは、ログ、環境変数、分散トレース、メトリクスなどを表示して、アプリの動作を素早く確認できます。 +- **ダッシュボード**: 設定不要でリアルタイムの OpenTelemetry データを表示します。実行時にデフォルトで起動する Aspire の開発者ダッシュボードは、ログ、環境変数、分散トレース、メトリクスなどを表示して、アプリの動作を素早く確認できます。 - **デプロイメント**: 適切な接続文字列やネットワーク構成、サービスディスカバリー情報を挿入する行い、開発者の体験を簡素化します。 -- **さらに多く**: .NET Aspire には、開発者が気に入る多くの機能を備え、生産性を向上させます。 +- **さらに多く**: Aspire には、開発者が気に入る多くの機能を備え、生産性を向上させます。 -こちらのリリースを使用して、.NET Aspire についてもっと学びましょう: +こちらのリリースを使用して、Aspire についてもっと学びましょう: - [Documentation](https://learn.microsoft.com/dotnet/aspire) - [Microsoft Learn Training Path](https://learn.microsoft.com/en-us/training/paths/dotnet-aspire/) -- [.NET Aspire ビデオ](https://aka.ms/aspire/videos) +- [Aspire ビデオ](https://aka.ms/aspire/videos) - [eShop Reference サンプルアプリ](https://github.com/dotnet/eshop) -- [.NET Aspire サンプル](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [.NET Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Aspire サンプル](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## ワークショップ -この .NET Aspire ワークショップは、[Let's Learn .NET](https://aka.ms/letslearndotnet) シリーズの一部です。このワークショップは、.NET Aspire について学び、クラウドレディなアプリケーションの構築に使用する方法を学ぶために設計されています。 +この Aspire ワークショップは、[Let's Learn .NET](https://aka.ms/letslearndotnet) シリーズの一部です。このワークショップは、Aspire について学び、クラウドレディなアプリケーションの構築に使用する方法を学ぶために設計されています。 ### 前提条件 diff --git a/README.ko.md b/README.ko.md index 41e01074..2c6c9bb6 100644 --- a/README.ko.md +++ b/README.ko.md @@ -1,32 +1,32 @@ > 이 문서는 [Azure OpenAI](https://learn.microsoft.com/azure/ai-services/openai/overview)를 이용해 초벌 번역 후 검수를 진행했습니다. 따라서 번역 품질이 기대와 다를 수 있습니다. 문서 번역에 대해 제안할 내용이 있을 경우, [이슈](./issue)에 남겨주시면 확인후 반영하겠습니다. -# .NET Aspire Workshop +# Aspire Workshop -[.NET Aspire](https://learn.microsoft.com/dotnet/aspire/)는 관측이 용이하고, 프로덕션에 배포할 준비가 된 분산형 애플리케이션을 구축하기 위한 클라우드 네이티브 스택입니다. .NET Aspire는 애플리케이션의 크기와 규모에 관계없이 추가하여 더 나은 애플리케이션을 더 빠르게 구축할 수 있도록 도와줍니다. +[Aspire](https://learn.microsoft.com/dotnet/aspire/)는 관측이 용이하고, 프로덕션에 배포할 준비가 된 분산형 애플리케이션을 구축하기 위한 클라우드 네이티브 스택입니다. Aspire는 애플리케이션의 크기와 규모에 관계없이 추가하여 더 나은 애플리케이션을 더 빠르게 구축할 수 있도록 도와줍니다. 이 워크샵은 **.NET Aspire 9.4**를 사용하며 **.NET 9**용으로 설계되었습니다 (**.NET 8**도 지원됩니다). -.NET Aspire는 앱 개발을 다음과 같이 간소화합니다: +Aspire는 앱 개발을 다음과 같이 간소화합니다: - **오케스트레이션**: 간단하면서도 강력한 워크플로우 엔진이 내장된 오케스트레이션. YAML 한 줄 없이 C#과 친숙한 API를 사용합니다. 인기 있는 클라우드 서비스를 쉽게 추가하고 프로젝트에 연결한 후 단 한 번의 클릭으로 로컬에서 실행할 수 있습니다. - **서비스 검색(디스커버리)**: 적절한 연결 문자열이나 네트워크 구성 및 서비스 검색 정보를 자동으로 삽입하여 개발자 경험을 단순화합니다. - **컴포넌트**: 데이터베이스, 큐, 스토리지와 같은 일반적인 클라우드 서비스를 위한 내장 컴포넌트. 로깅, 상태 점검, 텔레메트리 등을 쉽게 통합했습니다. -- **대시보드**: 별도의 설정 없이 라이브 OpenTelemetry 데이터를 볼 수 있습니다. 기본적으로 앱을 실행할 때 함께 실행되며, .NET Aspire의 개발자 대시보드는 로그, 환경 변수, 분산 추적, 메트릭 등을 표시하여 앱 동작을 빠르게 확인할 수 있습니다. +- **대시보드**: 별도의 설정 없이 라이브 OpenTelemetry 데이터를 볼 수 있습니다. 기본적으로 앱을 실행할 때 함께 실행되며, Aspire의 개발자 대시보드는 로그, 환경 변수, 분산 추적, 메트릭 등을 표시하여 앱 동작을 빠르게 확인할 수 있습니다. - **배포**: 적절한 연결 문자열이나 네트워크 구성 및 서비스 검색 정보를 삽입하여 개발자 경험을 단순화합니다. -- **기타**: .NET Aspire에는 개발자들이 좋아할 만한 기능들이 가득하며, 생산성을 높이는 데 도움이 됩니다. +- **기타**: Aspire에는 개발자들이 좋아할 만한 기능들이 가득하며, 생산성을 높이는 데 도움이 됩니다. -다음 리소스를 통해 .NET Aspire에 대해 더 알아보세요: +다음 리소스를 통해 Aspire에 대해 더 알아보세요: - [문서](https://learn.microsoft.com/dotnet/aspire) - [Microsoft Learn 교육 경로](https://learn.microsoft.com/en-us/training/paths/dotnet-aspire/) -- [.NET Aspire 비디오](https://aka.ms/aspire/videos) +- [Aspire 비디오](https://aka.ms/aspire/videos) - [eShop 참조 샘플 앱](https://github.com/dotnet/eshop) -- [.NET Aspire 샘플](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [.NET Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Aspire 샘플](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## 워크샵 -이 .NET Aspire 워크샵은 [Let's Learn .NET](https://aka.ms/letslearndotnet) 시리즈의 일부입니다. 이 워크샵은 .NET Aspire에 대해 배우고 이를 사용하여 클라우드-레디 애플리케이션을 구축하는 방법을 배우도록 설계되었습니다. +이 Aspire 워크샵은 [Let's Learn .NET](https://aka.ms/letslearndotnet) 시리즈의 일부입니다. 이 워크샵은 Aspire에 대해 배우고 이를 사용하여 클라우드-레디 애플리케이션을 구축하는 방법을 배우도록 설계되었습니다. ### 필수 조건 diff --git a/README.pt-br.md b/README.pt-br.md index c69a502e..7bc14c0d 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -1,26 +1,26 @@ -# Vamos aprender sobre .NET Aspire +# Vamos aprender sobre Aspire -Venha aprender tudo sobre o [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/), um conjunto de ferramentas preparado para a nuvem, ideal para construir aplicações distribuídas, fáceis de monitorar e prontas para produção. O .NET Aspire pode ser adicionado a qualquer aplicação, independentemente do tamanho e da escala, ajudando você a desenvolver melhores aplicações mais rapidamente. +Venha aprender tudo sobre o [Aspire](https://learn.microsoft.com/dotnet/aspire/), um conjunto de ferramentas preparado para a nuvem, ideal para construir aplicações distribuídas, fáceis de monitorar e prontas para produção. O Aspire pode ser adicionado a qualquer aplicação, independentemente do tamanho e da escala, ajudando você a desenvolver melhores aplicações mais rapidamente. Este workshop utiliza **.NET Aspire 9.4** e é projetado para **.NET 9** (**.NET 8** também é suportado). -O .NET Aspire simplifica o desenvolvimento de aplicações com: +O Aspire simplifica o desenvolvimento de aplicações com: - **Orquestração**: Orquestração integrada com um fluxo de trabalho simples, mas poderoso. Use C# e APIs familiares sem uma linha de YAML. Adicione facilmente serviços populares na nuvem, conecte-os aos seus projetos e execute localmente com um único clique. - **Identificação de serviços**: Injeção automática das informações de conexão ou configurações de rede corretas, além de informações de serviços para simplificar a experiência do desenvolvedor. - **Componentes**: Componentes nativos e integrados para serviços comuns na nuvem, como bancos de dados, filas e armazenamento. Integrado com logs, verificações de integridade, telemetria e muito mais. -- **Dashboard**: Veja dados ao vivo do OpenTelemetry sem necessidade de configuração. Iniciado por padrão ao executar, o painel do desenvolvedor do .NET Aspire mostra logs, variáveis de ambiente, rastreamentos (traces) distribuídos, métricas e mais para verificar rapidamente o comportamento do aplicativo. +- **Dashboard**: Veja dados ao vivo do OpenTelemetry sem necessidade de configuração. Iniciado por padrão ao executar, o painel do desenvolvedor do Aspire mostra logs, variáveis de ambiente, rastreamentos (traces) distribuídos, métricas e mais para verificar rapidamente o comportamento do aplicativo. - **Implantação**: Gerencia a injeção das informações de conexão ou configurações de rede corretas e informações de serviços para simplificar a experiência do desenvolvedor. -- **E muito mais**: O .NET Aspire está repleto de recursos que os desenvolvedores vão adorar e que ajudarão a aumentar sua produtividade. +- **E muito mais**: O Aspire está repleto de recursos que os desenvolvedores vão adorar e que ajudarão a aumentar sua produtividade. -Saiba mais sobre o .NET Aspire com os seguintes recursos (em Inglês): +Saiba mais sobre o Aspire com os seguintes recursos (em Inglês): - [Documentação](https://learn.microsoft.com/dotnet/aspire) - [Treinamento do Microsoft Learn](https://learn.microsoft.com/training/paths/dotnet-aspire/) -- [Vídeos do .NET Aspire](https://aka.ms/aspire/videos) +- [Vídeos do Aspire](https://aka.ms/aspire/videos) - [Aplicativo de exemplo e referência eShop](https://github.com/dotnet/eshop) -- [Exemplos do .NET Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [Perguntas frequentes do .NET Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Exemplos do Aspire](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [Perguntas frequentes do Aspire](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## Localização @@ -34,7 +34,7 @@ Os materiais deste workshop estão disponíveis nos seguintes idiomas: - [Français](./README.fr.md) - [Português (PT-BR)](./README.pt-br.md) -Você também pode assistir aos eventos ao vivo Let's Learn .NET Aspire nos seguintes idiomas: +Você também pode assistir aos eventos ao vivo Let's Learn Aspire nos seguintes idiomas: - [Inglês](https://www.youtube.com/watch?v=8i3FaHChh20) - [한국어](https://www.youtube.com/watch?v=rTpNgMaVM6g) @@ -46,7 +46,7 @@ Você também pode assistir aos eventos ao vivo Let's Learn .NET Aspire nos segu ## Workshop -Este workshop do .NET Aspire faz parte da série [Vamos aprender .NET](https://aka.ms/letslearndotnet). Este workshop foi criado para ajudá-lo a aprender sobre o .NET Aspire e como usá-lo para construir aplicações prontas para a nuvem. +Este workshop do Aspire faz parte da série [Vamos aprender .NET](https://aka.ms/letslearndotnet). Este workshop foi criado para ajudá-lo a aprender sobre o Aspire e como usá-lo para construir aplicações prontas para a nuvem. ### Pré-requisitos diff --git a/README.zh-cn.md b/README.zh-cn.md index 4e6420f9..6400bbf1 100644 --- a/README.zh-cn.md +++ b/README.zh-cn.md @@ -1,26 +1,26 @@ -# .NET Aspire 研讨会 +# Aspire 研讨会 -学习关于 [.NET Aspire](https://learn.microsoft.com/dotnet/aspire/) 的所有信息,它是用来构建可观察的、生产就绪的分布式应用程序的云就绪技术栈。.NET Aspire 可以支持任何类型的应用程序,无论其大小和规模如何,以帮助您更快地构建更好的应用程序。 +学习关于 [Aspire](https://learn.microsoft.com/dotnet/aspire/) 的所有信息,它是用来构建可观察的、生产就绪的分布式应用程序的云就绪技术栈。Aspire 可以支持任何类型的应用程序,无论其大小和规模如何,以帮助您更快地构建更好的应用程序。 本研讨会使用 **.NET Aspire 9.4**,专为 **.NET 9** 设计(也支持 **.NET 8**)。 -.NET Aspire 通过以下方式简化了应用程序的开发: +Aspire 通过以下方式简化了应用程序的开发: - **编排**: 通过使用 C# 程序设计语言和其熟悉的 API 接口来对你的应用程序进行建模,而无需一行的 YAML 定义文件。轻松添加常用的数据库、消息系统和云服务,将它们连接到您的项目,然后单击一下即可在本地运行 - **服务发现**: 自动注入正确的连接串、网络配置和服务发现信息,以简化开发人员体验。 - **集成**: 常见云服务(如数据库、消息队列和存储)的内置集成。针对日志、运行状况检查、遥测等进行配置。 -- **控制面板**: 无需配置即可查看实时 OpenTelemetry 数据。.NET Aspire 的开发人员仪表板默认在运行时启动,显示日志、环境变量、分布式跟踪、指标等,以快速验证应用程序行为。 +- **控制面板**: 无需配置即可查看实时 OpenTelemetry 数据。Aspire 的开发人员仪表板默认在运行时启动,显示日志、环境变量、分布式跟踪、指标等,以快速验证应用程序行为。 - **部署**: 轻松生成应用程序在生产环境中运行所需的所有配置的资源清单。(可选)使用 Aspire 感知工具快速轻松地部署到 Azure 容器应用或 Kubernetes。 -- **更多**: .NET Aspire 包含开发人员会喜欢的所有功能,并帮助您提高工作效率。 +- **更多**: Aspire 包含开发人员会喜欢的所有功能,并帮助您提高工作效率。 -通过以下资源了解有关 .NET Aspire 的更多信息: +通过以下资源了解有关 Aspire 的更多信息: - [文档](https://learn.microsoft.com/dotnet/aspire) - [Microsoft Learn Training Path](https://learn.microsoft.com/training/paths/dotnet-aspire/) -- [.NET Aspire 视频](https://aka.ms/aspire/videos) +- [Aspire 视频](https://aka.ms/aspire/videos) - [eShop 参考示例应用程序](https://github.com/dotnet/eshop) -- [.NET Aspire 示例](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) -- [.NET Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) +- [Aspire 示例](https://learn.microsoft.com/samples/browse/?expanded=dotnet&products=dotnet-aspire) +- [Aspire FAQ](https://learn.microsoft.com/dotnet/aspire/reference/aspire-faq) ## 本地化 @@ -34,7 +34,7 @@ - [Français](./README.fr.md) - [Português (PT-BR)](./README.pt-br.md) -您还可以观看以下语言的 Let's Learn .NET Aspire 直播活动: +您还可以观看以下语言的 Let's Learn Aspire 直播活动: - [English](https://www.youtube.com/watch?v=8i3FaHChh20) - [한국어](https://www.youtube.com/watch?v=rTpNgMaVM6g) @@ -46,7 +46,7 @@ ## 研讨会 -此 .NET Aspire 研讨会是 [Let's Learn .NET](https://aka.ms/letslearndotnet) 系列的一部分。此研讨会旨在帮助您了解 .NET Aspire 以及如何使用它来构建云就绪应用程序。 +此 Aspire 研讨会是 [Let's Learn .NET](https://aka.ms/letslearndotnet) 系列的一部分。此研讨会旨在帮助您了解 Aspire 以及如何使用它来构建云就绪应用程序。 ### 先决条件 diff --git a/complete/Api/Api.csproj b/complete/Api/Api.csproj index 1c241f67..aa1ca7cf 100644 --- a/complete/Api/Api.csproj +++ b/complete/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/complete/Api/Data/NwsManager.cs b/complete/Api/Data/NwsManager.cs index b1644a0c..97bf0f7b 100644 --- a/complete/Api/Data/NwsManager.cs +++ b/complete/Api/Data/NwsManager.cs @@ -151,7 +151,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/complete/Api/Program.cs b/complete/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/complete/Api/Program.cs +++ b/complete/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/complete/AppHost/AppHost.csproj b/complete/AppHost/AppHost.csproj index 354d604c..440edf87 100644 --- a/complete/AppHost/AppHost.csproj +++ b/complete/AppHost/AppHost.csproj @@ -1,5 +1,5 @@ - + Exe net10.0 @@ -8,10 +8,10 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - - - + + + + diff --git a/complete/IntegrationTests/IntegrationTests.csproj b/complete/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/complete/IntegrationTests/IntegrationTests.csproj +++ b/complete/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/complete/MyWeatherHub/MyWeatherHub.csproj b/complete/MyWeatherHub/MyWeatherHub.csproj index 5fbf7229..0cf81d63 100644 --- a/complete/MyWeatherHub/MyWeatherHub.csproj +++ b/complete/MyWeatherHub/MyWeatherHub.csproj @@ -6,7 +6,7 @@ - + diff --git a/complete/ServiceDefaults/Extensions.cs b/complete/ServiceDefaults/Extensions.cs index 18d51c9c..8cefc9cd 100644 --- a/complete/ServiceDefaults/Extensions.cs +++ b/complete/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/start/Api/Data/NwsManager.cs b/start/Api/Data/NwsManager.cs index 0bc74bf3..c837dd43 100644 --- a/start/Api/Data/NwsManager.cs +++ b/start/Api/Data/NwsManager.cs @@ -76,7 +76,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://api.weather.gov/"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-01-Setup/README.es.md b/workshop/Lesson-01-Setup/README.es.md index 62ecc72c..4ef981e5 100644 --- a/workshop/Lesson-01-Setup/README.es.md +++ b/workshop/Lesson-01-Setup/README.es.md @@ -6,7 +6,7 @@ Este taller utilizará las siguientes herramientas: - [Docker Desktop](https://docs.docker.com/engine/install/) o [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) o [Visual Studio Code](https://code.visualstudio.com/) con [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -Para obtener la mejor experiencia, recomendamos utilizar Visual Studio 2022 con la carga de trabajo de .NET Aspire. Sin embargo, también puedes utilizar Visual Studio Code con el C# Dev Kit y la carga de trabajo de .NET Aspire. A continuación, se muestran las guías de configuración para cada plataforma. +Para obtener la mejor experiencia, recomendamos utilizar Visual Studio 2022 con la carga de trabajo de Aspire. Sin embargo, también puedes utilizar Visual Studio Code con el C# Dev Kit y la carga de trabajo de Aspire. A continuación, se muestran las guías de configuración para cada plataforma. > **Nuevo en .NET Aspire 9.4**: ¡Soporte completo para .NET 10 Preview! Ahora puedes crear proyectos Aspire dirigidos a .NET 10 usando `dotnet new aspire --framework net10.0` @@ -24,15 +24,15 @@ Para obtener la mejor experiencia, recomendamos utilizar Visual Studio 2022 con > Nota: Cuando se ejecuta en Mac con Apple Silicon (procesador de la serie M), se requiere Rosetta 2 para grpc-tools. -## Instalar las Plantillas Más Recientes de .NET Aspire +## Instalar las Plantillas Más Recientes de Aspire -Ejecuta el siguiente comando para instalar las plantillas más recientes de .NET Aspire. +Ejecuta el siguiente comando para instalar las plantillas más recientes de Aspire. ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## Instalar la CLI de .NET Aspire (Opcional) +## Instalar la CLI de Aspire (Opcional) .NET Aspire 9.4 introduce la CLI de Aspire generalmente disponible, proporcionando una experiencia de desarrollador optimizada. Puedes instalarla usando uno de estos métodos: @@ -62,7 +62,7 @@ La CLI de Aspire proporciona comandos útiles como: ## Prueba de la instalación -Para probar tu instalación, consulta el [Crear tu primer proyecto de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) para obtener más información. +Para probar tu instalación, consulta el [Crear tu primer proyecto de Aspire](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) para obtener más información. ## Abrir la Solución de Inicio del Taller diff --git a/workshop/Lesson-01-Setup/README.fr.md b/workshop/Lesson-01-Setup/README.fr.md index 3475a0a9..a81a5e18 100644 --- a/workshop/Lesson-01-Setup/README.fr.md +++ b/workshop/Lesson-01-Setup/README.fr.md @@ -6,7 +6,7 @@ Cet atelier utilisera les outils suivants: - [Docker Desktop](https://docs.docker.com/engine/install/) ou [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) ou [Visual Studio Code](https://code.visualstudio.com/) avec [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -Pour une expérience optimale, nous vous recommandons d'utiliser Visual Studio 2022 avec le workload .NET Aspire. Toutefois, vous pouvez utiliser Visual Studio Code avec le C# Dev Kit et le workload .NET Aspire. Vous trouverez ci-dessous des guides de configuration pour chaque plate-forme. +Pour une expérience optimale, nous vous recommandons d'utiliser Visual Studio 2022 avec le workload Aspire. Toutefois, vous pouvez utiliser Visual Studio Code avec le C# Dev Kit et le workload Aspire. Vous trouverez ci-dessous des guides de configuration pour chaque plate-forme. > **Nouveau dans .NET Aspire 9.4** : Support complet pour .NET 10 Preview ! Vous pouvez maintenant créer des projets Aspire ciblant .NET 10 en utilisant `dotnet new aspire --framework net10.0` @@ -24,15 +24,15 @@ Pour une expérience optimale, nous vous recommandons d'utiliser Visual Studio 2 > Remarque: Lors de l'exécution sur Mac avec Apple Silicon (processeur série M), Rosetta 2 pour grpc-tools. -## Installer les derniers modèles .NET Aspire +## Installer les derniers modèles Aspire -Exécutez la commande suivante pour installer les modèles .NET Aspire les plus récents. +Exécutez la commande suivante pour installer les modèles Aspire les plus récents. ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## Installer l'interface de ligne de commande .NET Aspire (Optionnel) +## Installer l'interface de ligne de commande Aspire (Optionnel) .NET Aspire 9.4 introduit l'interface de ligne de commande Aspire généralement disponible, offrant une expérience de développement rationalisée. Vous pouvez l'installer en utilisant l'une de ces méthodes : @@ -62,7 +62,7 @@ L'interface de ligne de commande Aspire fournit des commandes utiles comme : ## Tester l’installation -Pour tester votre installation, consultez [Build your first .NET Aspire project](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) pour plus d'informations. +Pour tester votre installation, consultez [Build your first Aspire project](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) pour plus d'informations. ## Ouvrir la solution de démarrage de l'atelier diff --git a/workshop/Lesson-01-Setup/README.jp.md b/workshop/Lesson-01-Setup/README.jp.md index ff6ce63a..8752a668 100644 --- a/workshop/Lesson-01-Setup/README.jp.md +++ b/workshop/Lesson-01-Setup/README.jp.md @@ -6,7 +6,7 @@ - [Docker Desktop](https://docs.docker.com/engine/install/) または [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) または [Visual Studio Code](https://code.visualstudio.com/) と [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -最良の体験を得るためには、.NET Aspire workload が用意された Visual Studio 2022 を使用することをお勧めします。ただし、C# Dev Kit と .NET Aspire workload が用意された Visual Studio Code を使用することもできます。以下に各プラットフォームのセットアップガイドを示します。 +最良の体験を得るためには、Aspire workload が用意された Visual Studio 2022 を使用することをお勧めします。ただし、C# Dev Kit と Aspire workload が用意された Visual Studio Code を使用することもできます。以下に各プラットフォームのセットアップガイドを示します。 > **.NET Aspire 9.4 の新機能**: .NET 10 Preview の完全サポート!`dotnet new aspire --framework net10.0` を使用して .NET 10 をターゲットとした Aspire プロジェクトを作成できるようになりました @@ -24,15 +24,15 @@ > 注意: Apple Silicon (M シリーズプロセッサ) を搭載した Mac で実行する場合、grpc-tools に Rosetta 2 が必要です。 -## 最新の .NET Aspire テンプレートのインストール +## 最新の Aspire テンプレートのインストール -以下のコマンドを実行して最新の .NET Aspire テンプレートをインストールします。 +以下のコマンドを実行して最新の Aspire テンプレートをインストールします。 ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## .NET Aspire CLI のインストール (オプション) +## Aspire CLI のインストール (オプション) .NET Aspire 9.4 では、一般提供される Aspire CLI が導入され、合理化された開発者体験を提供します。以下の方法のいずれかを使用してインストールできます: @@ -62,7 +62,7 @@ Aspire CLI は以下のような便利なコマンドを提供します: ## インストールのテスト -インストールをテストするには、[初めての .NET Aspire プロジェクトを構築する](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) を参照してください。 +インストールをテストするには、[初めての Aspire プロジェクトを構築する](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) を参照してください。 ## ワークショップの開始ソリューションを開く diff --git a/workshop/Lesson-01-Setup/README.ko.md b/workshop/Lesson-01-Setup/README.ko.md index a81db869..c570a738 100644 --- a/workshop/Lesson-01-Setup/README.ko.md +++ b/workshop/Lesson-01-Setup/README.ko.md @@ -8,7 +8,7 @@ - [Docker Desktop](https://docs.docker.com/engine/install/) 또는 [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) 또는 [Visual Studio Code](https://code.visualstudio.com/)와 [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -최고의 경험을 위해서는 .NET Aspire 워크로드가 포함된 Visual Studio 2022를 사용하는 것을 권장합니다. 하지만, C# Dev Kit과 .NET Aspire 워크로드가 포함된 Visual Studio Code를 사용할 수도 있습니다. 각 플랫폼에 대한 설정 가이드는 아래에 있습니다. +최고의 경험을 위해서는 Aspire 워크로드가 포함된 Visual Studio 2022를 사용하는 것을 권장합니다. 하지만, C# Dev Kit과 Aspire 워크로드가 포함된 Visual Studio Code를 사용할 수도 있습니다. 각 플랫폼에 대한 설정 가이드는 아래에 있습니다. > **.NET Aspire 9.4의 새로운 기능**: .NET 10 Preview 완전 지원! 이제 `dotnet new aspire --framework net10.0`을 사용하여 .NET 10을 대상으로 하는 Aspire 프로젝트를 만들 수 있습니다 @@ -26,15 +26,15 @@ > 참고: Apple Silicon (M 시리즈 프로세서)을 사용하는 Mac에서 실행할 때는 grpc-tools를 위해 Rosetta 2가 필요합니다. -## 최신 .NET Aspire 템플릿 설치 +## 최신 Aspire 템플릿 설치 -다음 명령을 실행하여 최신 .NET Aspire 템플릿을 설치합니다. +다음 명령을 실행하여 최신 Aspire 템플릿을 설치합니다. ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## .NET Aspire CLI 설치 (선택사항) +## Aspire CLI 설치 (선택사항) .NET Aspire 9.4는 일반적으로 사용 가능한 Aspire CLI를 도입하여 간소화된 개발자 경험을 제공합니다. 다음 방법 중 하나를 사용하여 설치할 수 있습니다: @@ -64,7 +64,7 @@ Aspire CLI는 다음과 같은 유용한 명령을 제공합니다: ## 설치 테스트 -설치를 테스트해 보려면, [첫 .NET Aspire 프로젝트 빌드하기](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app)에서 자세한 정보를 참조하세요. +설치를 테스트해 보려면, [첫 Aspire 프로젝트 빌드하기](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app)에서 자세한 정보를 참조하세요. ## 워크숍 시작 솔루션 열기 diff --git a/workshop/Lesson-01-Setup/README.pt-br.md b/workshop/Lesson-01-Setup/README.pt-br.md index 1fa86d49..09377f3f 100644 --- a/workshop/Lesson-01-Setup/README.pt-br.md +++ b/workshop/Lesson-01-Setup/README.pt-br.md @@ -6,7 +6,7 @@ Este workshop utilizará as seguintes ferramentas: - [Docker Desktop](https://docs.docker.com/engine/install/) ou [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) ou [Visual Studio Code](https://code.visualstudio.com/) com [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -Para uma experiência melhor, recomendamos usar o Visual Studio 2022 com o workload .NET Aspire. No entanto, você pode usar o Visual Studio Code com o C# Dev Kit e o workload .NET Aspire. A seguir estão os passos para configuração de cada plataforma. +Para uma experiência melhor, recomendamos usar o Visual Studio 2022 com o workload Aspire. No entanto, você pode usar o Visual Studio Code com o C# Dev Kit e o workload Aspire. A seguir estão os passos para configuração de cada plataforma. > **Novo no .NET Aspire 9.4**: Suporte completo para .NET 10 Preview! Agora você pode criar projetos Aspire direcionados ao .NET 10 usando `dotnet new aspire --framework net10.0` @@ -24,15 +24,15 @@ Para uma experiência melhor, recomendamos usar o Visual Studio 2022 com o workl > Nota: Ao executar no Mac com processador Apple Silicon (série M), Rosetta 2 para grpc-tools. -## Instalar os Templates .NET Aspire Mais Recentes +## Instalar os Templates Aspire Mais Recentes -Execute o seguinte comando para instalar os templates mais recentes do .NET Aspire. +Execute o seguinte comando para instalar os templates mais recentes do Aspire. ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## Instalar a CLI do .NET Aspire (Opcional) +## Instalar a CLI do Aspire (Opcional) O .NET Aspire 9.4 introduz a CLI do Aspire geralmente disponível, proporcionando uma experiência de desenvolvedor simplificada. Você pode instalá-la usando um destes métodos: @@ -62,7 +62,7 @@ A CLI do Aspire oferece comandos úteis como: ## Teste de Instalação -Para testar sua instalação, consulte [Construa seu primeiro projeto .NET Aspire](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) para mais informações. +Para testar sua instalação, consulte [Construa seu primeiro projeto Aspire](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) para mais informações. ## Abrir a Solução de Início do Workshop diff --git a/workshop/Lesson-01-Setup/README.zh-cn.md b/workshop/Lesson-01-Setup/README.zh-cn.md index dc51bf26..c9d78aaa 100644 --- a/workshop/Lesson-01-Setup/README.zh-cn.md +++ b/workshop/Lesson-01-Setup/README.zh-cn.md @@ -6,7 +6,7 @@ - [Docker Desktop](https://docs.docker.com/engine/install/) 或者 [Podman](https://podman.io/getting-started/installation) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) 或者 [Visual Studio Code](https://code.visualstudio.com/) 和 [C# Dev Kit](https://code.visualstudio.com/docs/csharp/get-started) -为了获得最佳体验,我们推荐使用将 Visual Studio 2022 与 .NET Aspire 工作负载一起使用。但是,您也可以将 Visual Studio Code 与 C# Dev Kit 和 .NET Aspire 工作负载一起使用。以下是每个平台的设置指南。 +为了获得最佳体验,我们推荐使用将 Visual Studio 2022 与 Aspire 工作负载一起使用。但是,您也可以将 Visual Studio Code 与 C# Dev Kit 和 Aspire 工作负载一起使用。以下是每个平台的设置指南。 > **.NET Aspire 9.4 中的新功能**:完全支持 .NET 10 Preview!您现在可以使用 `dotnet new aspire --framework net10.0` 创建针对 .NET 10 的 Aspire 项目 @@ -16,7 +16,7 @@ - 所有此版本的发行版都可以,包括 [免费 Visual Studio 社区版](https://visualstudio.microsoft.com/free-developer-offers/) - 选择 `ASP.NET and web development` 工作负载. -> 注意: .NET Aspire 8.0 要求额外安装 .NET Aspire 工作负载. [对于 .NET 9, 该工作负载不再需要](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/upgrade-to-aspire-9?pivots=visual-studio) ,它可以被卸载掉。 +> 注意: .NET Aspire 8.0 要求额外安装 Aspire 工作负载. [对于 .NET 9, 该工作负载不再需要](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/upgrade-to-aspire-9?pivots=visual-studio) ,它可以被卸载掉。 ## Mac, Linux, & Windows 平台下不使用 Visual Studio @@ -26,15 +26,15 @@ > 注意: 在装有 Apple Silicon(M 系列处理器)的 Mac 上运行时,还需要 Rosetta 2 for grpc-tools。 -## 安装最新的 .NET Aspire 模板 +## 安装最新的 Aspire 模板 -运行以下命令安装最新的 .NET Aspire 模板。 +运行以下命令安装最新的 Aspire 模板。 ```cli dotnet new install Aspire.ProjectTemplates --force ``` -## 安装 .NET Aspire CLI (可选) +## 安装 Aspire CLI (可选) .NET Aspire 9.4 引入了正式可用的 Aspire CLI,提供精简的开发者体验。您可以使用以下方法之一进行安装: @@ -64,7 +64,7 @@ Aspire CLI 提供有用的命令,如: ## 测试安装 -为了测试安装, 请查阅 [构建您的第一个 .NET Aspire 项目](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) 以获得更详尽信息. +为了测试安装, 请查阅 [构建您的第一个 Aspire 项目](https://learn.microsoft.com/dotnet/aspire/get-started/build-your-first-aspire-app) 以获得更详尽信息. ## 打开研讨会的起始解决方案 diff --git a/workshop/Lesson-02-ServiceDefaults/README.es.md b/workshop/Lesson-02-ServiceDefaults/README.es.md index 3e80c910..936e8bda 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.es.md +++ b/workshop/Lesson-02-ServiceDefaults/README.es.md @@ -2,7 +2,7 @@ ## Introducción -.NET Aspire proporciona un conjunto de valores predeterminados inteligentes para los servicios que se utilizan comúnmente en las aplicaciones .NET. Estos valores predeterminados están diseñados para ayudarte a comenzar rápidamente y proporcionar una experiencia consistente en diferentes tipos de aplicaciones. Esto incluye: +Aspire proporciona un conjunto de valores predeterminados inteligentes para los servicios que se utilizan comúnmente en las aplicaciones .NET. Estos valores predeterminados están diseñados para ayudarte a comenzar rápidamente y proporcionar una experiencia consistente en diferentes tipos de aplicaciones. Esto incluye: - Telemetría: Métricas, trazas, registro - Resiliencia @@ -16,7 +16,7 @@ 1. Agrega un nuevo proyecto a la solución llamado `ServiceDefaults`: - Haz clic derecho en la solución y selecciona `Agregar` > `Nuevo proyecto`. -- Selecciona la plantilla de proyecto `.NET Aspire Service Defaults`. +- Selecciona la plantilla de proyecto `Aspire Service Defaults`. - Nombra el proyecto `ServiceDefaults`. - Haz clic en `Siguiente` > `Crear`. diff --git a/workshop/Lesson-02-ServiceDefaults/README.fr.md b/workshop/Lesson-02-ServiceDefaults/README.fr.md index f5676c99..8a6e286e 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.fr.md +++ b/workshop/Lesson-02-ServiceDefaults/README.fr.md @@ -2,7 +2,7 @@ ## Introduction -.NET Aspire fournit un ensemble de valeurs par défaut pour les services couramment utilisés dans les applications .NET. Ces valeurs par défaut sont conçues pour vous aider à démarrer rapidement et à offrir une expérience cohérente sur différents types d'applications. Ceci comprend: +Aspire fournit un ensemble de valeurs par défaut pour les services couramment utilisés dans les applications .NET. Ces valeurs par défaut sont conçues pour vous aider à démarrer rapidement et à offrir une expérience cohérente sur différents types d'applications. Ceci comprend: - Télémétrie : métriques, traçage, journalisation - Résilience @@ -16,7 +16,7 @@ 1. Ajoutez un nouveau projet à la solution appelé `ServiceDefaults`: - Faites un clic droit sur la solution et sélectionnez `Add` > `New Project`. -- Sélectionnez le modèle de projet `.NET Aspire Service Defaults`. +- Sélectionnez le modèle de projet `Aspire Service Defaults`. - Nommé le projet `ServiceDefaults`. - Cliquez `Next` > `Create`. diff --git a/workshop/Lesson-02-ServiceDefaults/README.jp.md b/workshop/Lesson-02-ServiceDefaults/README.jp.md index 95f96db2..3d182214 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.jp.md +++ b/workshop/Lesson-02-ServiceDefaults/README.jp.md @@ -2,7 +2,7 @@ ## はじめに -.NET Aspire は、.NET アプリケーションで一般的に使用されるサービスのスマートデフォルトを提供します。これらのデフォルトは、迅速に開始し、異なる種類のアプリケーションで一貫した体験を提供するよう設計されています。これには以下が含まれます: +Aspire は、.NET アプリケーションで一般的に使用されるサービスのスマートデフォルトを提供します。これらのデフォルトは、迅速に開始し、異なる種類のアプリケーションで一貫した体験を提供するよう設計されています。これには以下が含まれます: - 可観測性: メトリクス、トレーシング、ロギング - 回復性 @@ -16,7 +16,7 @@ 1. `ServiceDefaults` という名前の新しいプロジェクトをソリューションに追加します: - ソリューションを右クリックし、追加 > 新しいプロジェクトを選択します。 -- `.NET Aspire Service Defaults` プロジェクトテンプレートを選択します。 +- `Aspire Service Defaults` プロジェクトテンプレートを選択します。 - プロジェクトに `ServiceDefaults` という名前を付けます。 - `次へ` > `作成` をクリックします。 diff --git a/workshop/Lesson-02-ServiceDefaults/README.ko.md b/workshop/Lesson-02-ServiceDefaults/README.ko.md index 2fdb80eb..b59ed53b 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.ko.md +++ b/workshop/Lesson-02-ServiceDefaults/README.ko.md @@ -4,7 +4,7 @@ ## 소개 -.NET Aspire는 .NET 애플리케이션에서 일반적으로 사용하는 서비스에 대한 일련의 스마트 기본값을 제공합니다. 이러한 기본값을 통해 보다 신속한 애플리케이션 개발이 가능해지고 다양한 유형의 애플리케이션 간 일관적인 개발자 경험을 제공할 수 있습니다. 여기에는 아래와 같은 내용을 포함합니다: +Aspire는 .NET 애플리케이션에서 일반적으로 사용하는 서비스에 대한 일련의 스마트 기본값을 제공합니다. 이러한 기본값을 통해 보다 신속한 애플리케이션 개발이 가능해지고 다양한 유형의 애플리케이션 간 일관적인 개발자 경험을 제공할 수 있습니다. 여기에는 아래와 같은 내용을 포함합니다: - 텔레메트리: 메트릭, 추적, 로깅 - 회복탄력성 @@ -18,7 +18,7 @@ 1. 솔루션에 `ServiceDefaults`라는 새 프로젝트를 추가합니다: - 솔루션을 마우스 오른쪽 버튼으로 클릭하고 `Add` > `New Project`를 선택합니다. - - `.NET Aspire Service Defaults` 프로젝트 템플릿을 선택합니다. + - `Aspire Service Defaults` 프로젝트 템플릿을 선택합니다. - 프로젝트 이름을 `ServiceDefaults`로 지정합니다. - `Next` > `Create`을 클릭합니다. diff --git a/workshop/Lesson-02-ServiceDefaults/README.pt-br.md b/workshop/Lesson-02-ServiceDefaults/README.pt-br.md index b6f28956..82472096 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.pt-br.md +++ b/workshop/Lesson-02-ServiceDefaults/README.pt-br.md @@ -2,7 +2,7 @@ ## Introdução -.NET Aspire fornece um conjunto de padrões inteligentes para serviços que são comumente usados em aplicações .NET. Esses padrões são projetados para ajudá-lo a começar rapidamente e fornecer uma experiência consistente em diferentes tipos de aplicações. Isso inclui: +Aspire fornece um conjunto de padrões inteligentes para serviços que são comumente usados em aplicações .NET. Esses padrões são projetados para ajudá-lo a começar rapidamente e fornecer uma experiência consistente em diferentes tipos de aplicações. Isso inclui: - Telemetria: Métricas, Rastreamento, Log - Resiliência @@ -16,7 +16,7 @@ 1. Adicione um novo projeto à solução chamado `ServiceDefaults`: - Clique com o botão direito na solução e selecione `Add` > `New Project`. -- Selecione o modelo de projeto `.NET Aspire Service Defaults`. +- Selecione o modelo de projeto `Aspire Service Defaults`. - Nomeie o projeto como `ServiceDefaults`. - Clique em `Next` > `Create`. diff --git a/workshop/Lesson-02-ServiceDefaults/README.zh-cn.md b/workshop/Lesson-02-ServiceDefaults/README.zh-cn.md index d1a3a740..1a2b7dc5 100644 --- a/workshop/Lesson-02-ServiceDefaults/README.zh-cn.md +++ b/workshop/Lesson-02-ServiceDefaults/README.zh-cn.md @@ -2,7 +2,7 @@ ## 介绍 -.NET Aspire 为 .NET 应用程序中常用的服务提供了一组智能默认值。这些默认值旨在帮助您快速入门,并在不同类型的应用程序中提供一致的体验。其中包括: +Aspire 为 .NET 应用程序中常用的服务提供了一组智能默认值。这些默认值旨在帮助您快速入门,并在不同类型的应用程序中提供一致的体验。其中包括: - 遥测 Telemetry: Metrics, Tracing, Logging - 弹性 Resiliency @@ -15,7 +15,7 @@ 1. 在当前解决方案中添加名为 `ServiceDefaults` 的新项目: - 在解决方案上右键,在右键菜单中选择 `Add` > `New Project`. - - 选择 `.NET Aspire Service Defaults` 项目模板. + - 选择 `Aspire Service Defaults` 项目模板. - 命名项目为 `ServiceDefaults`. - 点击 `Next` > `Create`. diff --git a/workshop/Lesson-02-ServiceDefaults/code/Api/Data/NwsManager.cs b/workshop/Lesson-02-ServiceDefaults/code/Api/Data/NwsManager.cs index 0bc74bf3..c837dd43 100644 --- a/workshop/Lesson-02-ServiceDefaults/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-02-ServiceDefaults/code/Api/Data/NwsManager.cs @@ -76,7 +76,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://api.weather.gov/"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.es.md b/workshop/Lesson-03-Dashboard-AppHost/README.es.md index 8ad2fcfe..3d70ccd1 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.es.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.es.md @@ -1,8 +1,8 @@ -# Panel de control y orquestación con .NET Aspire App Host +# Panel de control y orquestación con Aspire App Host -.NET Aspire proporciona APIs para expresar recursos y dependencias dentro de tu aplicación distribuida. Además de estas APIs, hay herramientas que permiten algunos escenarios interesantes. El orquestador está destinado a fines de desarrollo local. +Aspire proporciona APIs para expresar recursos y dependencias dentro de tu aplicación distribuida. Además de estas APIs, hay herramientas que permiten algunos escenarios interesantes. El orquestador está destinado a fines de desarrollo local. -Antes de continuar, considera algunos términos comunes utilizados en .NET Aspire: +Antes de continuar, considera algunos términos comunes utilizados en Aspire: * *Modelo de aplicación*: Una colección de recursos que conforman tu aplicación distribuida (DistributedApplication). * *Proyecto de anfitrión de aplicación/orquestador*: El proyecto .NET que orquesta el modelo de aplicación, nombrado con el sufijo *.AppHost (por convención). @@ -16,7 +16,7 @@ Antes de continuar, considera algunos términos comunes utilizados en .NET Aspir 1. Agrega un nuevo proyecto a la solución llamado `AppHost`: * Haz clic derecho en la solución y selecciona `Agregar` > `Nuevo proyecto`. -* Selecciona la plantilla de proyecto `.NET Aspire App Host`. +* Selecciona la plantilla de proyecto `Aspire App Host`. * Nombra el proyecto `AppHost`. * Haz clic en `Siguiente` > `Crear`. @@ -75,20 +75,20 @@ Antes de continuar, considera algunos términos comunes utilizados en .NET Aspir ``` 1. Ejecuta el anfitrión de la aplicación utilizando el panel `Ejecutar y depurar` en Visual Studio Code o Visual Studio. -1. El Panel de control de .NET Aspire se abrirá en tu navegador predeterminado y mostrará los recursos y dependencias de tu aplicación. +1. El Panel de control de Aspire se abrirá en tu navegador predeterminado y mostrará los recursos y dependencias de tu aplicación. - ![Panel de control de .NET Aspire](.../media/dashboard.png) + ![Panel de control de Aspire](.../media/dashboard.png) 1. Abre el panel del clima haciendo clic en el punto de conexión para `MyWeatherHub`, que será [https://localhost:7274](https://localhost:7274). 1. Observa que los proyectos `Api` y `MyWeatherHub` se están ejecutando en el mismo proceso y pueden comunicarse entre sí de la misma manera que antes utilizando la configuración. 1. Haz clic en el botón `Ver registros` para ver los registros de los proyectos `Api` y `MyWeatherHub`. 1. Selecciona la pestaña `Traces` y selecciona `Ver` en un rastro donde se llame a la API. - ![Panel de control de .NET Aspire](.../media/dashboard-trace.png) + ![Panel de control de Aspire](.../media/dashboard-trace.png) 1. Explora la pestaña `Métricas` para ver las métricas de los proyectos `Api` y `MyWeatherHub`. - ![Panel de control de .NET Aspire](.../media/dashboard-metrics.png) + ![Panel de control de Aspire](.../media/dashboard-metrics.png) ## Crear un error @@ -97,6 +97,6 @@ Antes de continuar, considera algunos términos comunes utilizados en .NET Aspir 1. En el sitio web de `MyWeatherApp`, haz clic en varias ciudades diferentes para generar errores. Por lo general, 5 ciudades diferentes generarán un error. 1. Después de generar los errores, la pestaña `Estructurado` se actualizará automáticamente en el panel de control y observa que se muestran los errores. - ![Panel de control de .NET Aspire](.../media/dashboard-error.png) + ![Panel de control de Aspire](.../media/dashboard-error.png) 1. Haz clic en el `Rastro` o en los `Detalles` para ver el mensaje de error y la traza de la pila. diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.fr.md b/workshop/Lesson-03-Dashboard-AppHost/README.fr.md index 4ab5caf2..c4552bc6 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.fr.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.fr.md @@ -1,8 +1,8 @@ -# Tableau de bord et orchestration avec l'hôte de l'application .NET Aspire +# Tableau de bord et orchestration avec l'hôte de l'application Aspire -.NET Aspire fournit des API pour exprimer les ressources et les dépendances au sein de votre application distribuée. En plus de ces API, il existe des outils qui permettent certains scénarios convaincants. L'orchestrateur est destiné à des fins de développement local. +Aspire fournit des API pour exprimer les ressources et les dépendances au sein de votre application distribuée. En plus de ces API, il existe des outils qui permettent certains scénarios convaincants. L'orchestrateur est destiné à des fins de développement local. -Avant de continuer, considérez quelques termes courants utilisés dans .NET Aspire : +Avant de continuer, considérez quelques termes courants utilisés dans Aspire : * *Modèle d'application (App model)* : un ensemble de ressources qui composent votre application distribuée (DistributedApplication). Pour une définition plus formelle, consultez Définir le modèle d’application. * *Projet hôte/Orchestreur d'application* : projet .NET qui orchestre le modèle d'application, nommé avec le suffixe *.AppHost (par convention). @@ -16,7 +16,7 @@ Avant de continuer, considérez quelques termes courants utilisés dans .NET Asp 1. Ajoutez un nouveau projet à la solution appelé `AppHost`: * Faites un clic droit sur la solution et sélectionnez `Add` > `New project`. -* Sélectionnez le modèle de projet `.NET Aspire App Host`. +* Sélectionnez le modèle de projet `Aspire App Host`. * Nommez le projet `AppHost`. * Cliquez sur `Next` > `Create`. @@ -75,20 +75,20 @@ Avant de continuer, considérez quelques termes courants utilisés dans .NET Asp ``` 1. Exécutez App Host à l'aide du panneau `Exécuter et déboguer` dans Visual Studio Code ou Visual Studio. -1. Le tableau de bord .NET Aspire s'ouvrira dans votre navigateur par défaut et affichera les ressources et dépendances de votre application. +1. Le tableau de bord Aspire s'ouvrira dans votre navigateur par défaut et affichera les ressources et dépendances de votre application. - ![Tableau de bord .NET Aspire](.../media/dashboard.png) + ![Tableau de bord Aspire](.../media/dashboard.png) 1. Ouvrez le tableau de bord météo en cliquant sur l'un des points de terminaison de `MyWeatherHub` qui sera [https://localhost:7274](https://localhost:7274). 1. Notez que les projets `Api` et `MyWeatherHub` s'exécutent dans le même processus et peuvent communiquer entre eux de la même manière qu'avant en utilisant les paramètres de configuration. 1. Cliquez sur le bouton `Afficher les journaux` pour voir les journaux des projets `Api` et `MyWeatherHub`. 1. Sélectionnez l'onglet `Traces` et sélectionnez `Vue` sur une trace où l'API est appelée. - ![Tableau de bord .NET Aspire](.../media/dashboard-trace.png)] + ![Tableau de bord Aspire](.../media/dashboard-trace.png)] 1. Explorez l'onglet `Métriques` pour voir les métriques des projets `Api` et `MyWeatherHub`. - ![Tableau de bord .NET Aspire](.../media/dashboard-metrics.png) + ![Tableau de bord Aspire](.../media/dashboard-metrics.png) ## Créer une erreur @@ -97,6 +97,6 @@ Avant de continuer, considérez quelques termes courants utilisés dans .NET Asp 1. Sur le site Web `MyWeatherApp`, cliquez sur plusieurs villes différentes pour générer des erreurs. Habituellement, 5 villes différentes génèrent une erreur. 1. Après avoir généré les erreurs, l'onglet `Structuré` se mettra automatiquement à jour sur le tableau de bord et remarquera que les erreurs sont affichées. - ![Tableau de bord .NET Aspire](.../media/dashboard-error.png) + ![Tableau de bord Aspire](.../media/dashboard-error.png) 1. Cliquez sur `Trace` ou `Détails` pour voir le message d'erreur et la trace de la pile. diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.jp.md b/workshop/Lesson-03-Dashboard-AppHost/README.jp.md index 9b472607..77175152 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.jp.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.jp.md @@ -1,8 +1,8 @@ -# .NET Aspire App Host を使用したダッシュボードとオーケストレーター +# Aspire App Host を使用したダッシュボードとオーケストレーター -.NET Aspire は、分散アプリケーション内のリソースと依存関係を表現するための API を提供します。これらの API に加え、いくつかの有力なシナリオを可能にするツールもあります。オーケストレータはローカル開発目的のために設計されています。 +Aspire は、分散アプリケーション内のリソースと依存関係を表現するための API を提供します。これらの API に加え、いくつかの有力なシナリオを可能にするツールもあります。オーケストレータはローカル開発目的のために設計されています。 -続ける前に、.NET Aspire で使用される一般的な用語について考えてみましょう: +続ける前に、Aspire で使用される一般的な用語について考えてみましょう: * *アプリモデル*: 分散アプリケーションを構成するリソースのコレクション (DistributedApplication) 。より正式な定義については、アプリモデルの定義を参照してください。 * *アプリホスト/オーケストレータープロジェクト*: アプリモデルをオーケストレーションする .NET プロジェクトで、通常、*.AppHost という接尾辞が付けられます。 @@ -16,7 +16,7 @@ 1. `AppHost` という新しいプロジェクトをソリューションに追加します: * ソリューションを右クリックして、`追加` > `新しいプロジェクト` を選択します。 -* `.NET Aspire App Host` プロジェクトテンプレートを選択します。 +* `Aspire App Host` プロジェクトテンプレートを選択します。 * プロジェクトに `AppHost` という名前を付けます。 * `次へ` > `作成` をクリックします。 @@ -75,20 +75,20 @@ ``` 1. Visual Studio Code または Visual Studio の `Run and Debug` パネルを使用して App Host を実行します。 -1. デフォルトのブラウザで .NET Aspire ダッシュボードが開き、アプリケーションのリソースと依存関係が表示されます。 +1. デフォルトのブラウザで Aspire ダッシュボードが開き、アプリケーションのリソースと依存関係が表示されます。 - ![.NET Aspire ダッシュボード](.../media/dashboard.png) + ![Aspire ダッシュボード](.../media/dashboard.png) 1. `MyWeatherHub` のエンドポイントである [https://localhost:7274](https://localhost:7274) をクリックし、天気ダッシュボードを開きます。 1. `Api` および `MyWeatherHub` プロジェクトが同じプロセス内で実行されており、設定を使用して以前と同じように通信できることに注意してください。 1. `View Logs` ボタンをクリックして、`Api` および `MyWeatherHub` プロジェクトのログを表示します。 1. `Traces` タブを選択し、API が呼び出されているトレースの `View` を選択します。 - ![.NET Aspire ダッシュボード](.../media/dashboard-trace.png)] + ![Aspire ダッシュボード](.../media/dashboard-trace.png)] 1. `Metrics` タブを探索して、`Api` および `MyWeatherHub` プロジェクトのメトリクスを確認します。 - ![.NET Aspire ダッシュボード](.../media/dashboard-metrics.png) + ![Aspire ダッシュボード](.../media/dashboard-metrics.png) ## エラーの作成 @@ -97,6 +97,6 @@ 1. `MyWeatherApp` ウェブサイトで異なるいくつかの都市をクリックしてエラーを生成します。通常、5つの異なる都市をクリックするとエラーが発生します。 1. エラーを生成した後、ダッシュボードの `Structured` タブが自動的に更新され、エラーが表示されることを確認します。 - ![.NET Aspire ダッシュボード](.../media/dashboard-error.png) + ![Aspire ダッシュボード](.../media/dashboard-error.png) 1. `Trace` または `Details` をクリックして、エラーメッセージとスタックトレースを確認します。 diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.ko.md b/workshop/Lesson-03-Dashboard-AppHost/README.ko.md index 6420c6d4..88ed7c7a 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.ko.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.ko.md @@ -1,10 +1,10 @@ > 이 문서는 [Azure OpenAI](https://learn.microsoft.com/azure/ai-services/openai/overview)를 이용해 초벌 번역 후 검수를 진행했습니다. 따라서 번역 품질이 기대와 다를 수 있습니다. 문서 번역에 대해 제안할 내용이 있을 경우, [이슈](../../../issue)에 남겨주시면 확인후 반영하겠습니다. -# 대시보드 및 .NET Aspire App Host 프로젝트를 이용한 오케스트레이션 +# 대시보드 및 Aspire App Host 프로젝트를 이용한 오케스트레이션 -.NET Aspire는 분산 애플리케이션 내의 리소스와 종속성을 표현하기 위한 API를 제공합니다. 이러한 API 외에도 몇 가지 흥미로운 시나리오를 가능하게 하는 도구를 제공합니다. 오케스트레이터는 로컬 개발 목적으로 사용합니다. +Aspire는 분산 애플리케이션 내의 리소스와 종속성을 표현하기 위한 API를 제공합니다. 이러한 API 외에도 몇 가지 흥미로운 시나리오를 가능하게 하는 도구를 제공합니다. 오케스트레이터는 로컬 개발 목적으로 사용합니다. -계속하기 전에 .NET Aspire에서 사용하는 일반적인 용어를 확인해보세요: +계속하기 전에 Aspire에서 사용하는 일반적인 용어를 확인해보세요: - *앱 모델*: 분산 애플리케이션을 구성하는 리소스의 모음 (DistributedApplication). 공식적인 정의는 앱 모델 정의를 참조하세요. - *앱 호스트/오케스트레이터 프로젝트*: 앱 모델을 오케스트레이션하는 .NET 프로젝트로, 관례적으로 *.AppHost 접미사로 이름을 지정합니다. @@ -18,7 +18,7 @@ 1. `AppHost`라는 새 프로젝트를 솔루션에 추가합니다: - 솔루션을 마우스 오른쪽 버튼으로 클릭하고 `Add` > `New Project`를 선택합니다. - - `.NET Aspire App Host` 프로젝트 템플릿을 선택합니다. + - `Aspire App Host` 프로젝트 템플릿을 선택합니다. - 프로젝트 이름을 `AppHost`로 지정합니다. - `Next` > `Create`을 클릭합니다. @@ -77,20 +77,20 @@ ``` 1. 비주얼 스튜디오 코드 또는 비주얼 스튜디오의 `Run and Debug` 패널을 사용하여 App Host를 실행합니다. -1. .NET Aspire 대시보드가 기본 브라우저에서 열리고 애플리케이션의 리소스 및 종속성이 표시됩니다. +1. Aspire 대시보드가 기본 브라우저에서 열리고 애플리케이션의 리소스 및 종속성이 표시됩니다. - ![.NET Aspire 대시보드](.../media/dashboard.png) + ![Aspire 대시보드](.../media/dashboard.png) 1. `MyWeatherHub`의 엔드포인트 [https://localhost:7274](https://localhost:7274)를 클릭하여 날씨 대시보드를 엽니다. 1. `Api` 및 `MyWeatherHub` 프로젝트가 동일한 프로세스에서 작동하고 있으며 구성 설정을 사용하여 이전과 동일하게 서로 통신할 수 있음을 확인합니다. 1. `View Logs` 버튼을 클릭하여 `Api` 및 `MyWeatherHub` 프로젝트의 로그를 확인합니다. 1. `Traces` 탭을 선택하고 API를 호출하는 트레이스에서 `View`를 선택합니다. - ![.NET Aspire 대시보드](.../media/dashboard-trace.png)] + ![Aspire 대시보드](.../media/dashboard-trace.png)] 1. `Metrics` 탭을 탐색하여 `Api` 및 `MyWeatherHub` 프로젝트의 메트릭을 확인합니다. - ![.NET Aspire 대시보드](.../media/dashboard-metrics.png) + ![Aspire 대시보드](.../media/dashboard-metrics.png) ## 오류 생성하기 @@ -99,5 +99,5 @@ 1. `MyWeatherApp` 웹사이트에서 여러 다른 도시를 클릭하여 오류를 생성합니다. 일반적으로 5개의 다른 도시를 클릭하면 오류가 발생합니다. 1. 오류를 생성한 후 대시보드의 `Structured` 탭이 자동으로 업데이트가 되며 오류를 표시합니다. - ![.NET Aspire 대시보드](.../media/dashboard-error.png) + ![Aspire 대시보드](.../media/dashboard-error.png) 1. `Traces` 또는 `Details`를 클릭하여 오류 메시지와 스택 트레이스를 확인합니다. diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.pt-br.md b/workshop/Lesson-03-Dashboard-AppHost/README.pt-br.md index f3f4b633..84aedb18 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.pt-br.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.pt-br.md @@ -1,8 +1,8 @@ -# Painel de Controle & Orquestração com .NET Aspire App Host +# Painel de Controle & Orquestração com Aspire App Host -.NET Aspire fornece APIs para apresentar recursos e dependências dentro da sua aplicação distribuída. Além dessas APIs, há ferramentas que possibilitam alguns cenários interessantes. O orquestrador é destinado para fins de desenvolvimento local. +Aspire fornece APIs para apresentar recursos e dependências dentro da sua aplicação distribuída. Além dessas APIs, há ferramentas que possibilitam alguns cenários interessantes. O orquestrador é destinado para fins de desenvolvimento local. -Antes de continuar, considere alguns termos comuns usados no .NET Aspire: +Antes de continuar, considere alguns termos comuns usados no Aspire: * *Modelo de aplicativo* (App model): Uma coleção de recursos que compõem sua aplicação distribuída (DistributedApplication). Para uma definição mais formal, veja Definir o modelo de aplicativo. * *Projeto do host da aplicação/Orquestrador* (App host/Orchestrator project): O projeto .NET que orquestra o modelo de aplicativo, nomeado com o sufixo *.AppHost (por convenção). @@ -16,7 +16,7 @@ Antes de continuar, considere alguns termos comuns usados no .NET Aspire: 1. Adicione um novo projeto à solução chamado `AppHost`: * Clique com o botão direito na solução e selecione `Add` > `New Project`. - * Selecione o modelo de projeto `.NET Aspire App Host`. + * Selecione o modelo de projeto `Aspire App Host`. * Nomeie o projeto como `AppHost`. * Clique em `Next` > `Create`. @@ -73,19 +73,19 @@ Antes de continuar, considere alguns termos comuns usados no .NET Aspire: ``` 1. Execute o Host da Aplicação usando o painel `Run and Debug` no Visual Studio Code ou Visual Studio. -1. O Painel do .NET Aspire será aberto no seu navegador padrão e exibirá os recursos e dependências da sua aplicação. +1. O Painel do Aspire será aberto no seu navegador padrão e exibirá os recursos e dependências da sua aplicação. - ![Painel do .NET Aspire](.../media/dashboard.png) + ![Painel do Aspire](.../media/dashboard.png) 1. Abra o painel da aplicação Weather clicando no Endpoint para o `MyWeatherHub` que será [https://localhost:7274](https://localhost:7274). 1. Observe que os projetos `Api` e `MyWeatherHub` estão rodando no mesmo processo e podem se comunicar entre si da mesma forma que antes usando configurações. 1. Clique no botão `View Logs` para ver os logs dos projetos `Api` e `MyWeatherHub`. 1. Selecione a aba `Traces` e selecione `View` em um log trace onde a API está sendo chamada. - ![Painel do .NET Aspire](.../media/dashboard-trace.png)] + ![Painel do Aspire](.../media/dashboard-trace.png)] 1. Explore a aba `Metrics` para ver as métricas para os projetos `Api` e `MyWeatherHub`. - ![Painel do .NET Aspire](.../media/dashboard-metrics.png) + ![Painel do Aspire](.../media/dashboard-metrics.png) ## Crie um erro @@ -94,5 +94,5 @@ Antes de continuar, considere alguns termos comuns usados no .NET Aspire: 1. No site `MyWeatherApp`, clique em várias cidades diferentes para gerar erros. Geralmente, 5 cidades diferentes gerarão um erro. 1. Após gerar os erros, a aba `Structured` será atualizada automaticamente no painel e observe que os erros são exibidos. - ![Painel do .NET Aspire](.../media/dashboard-error.png) + ![Painel do Aspire](.../media/dashboard-error.png) 1. Clique em `Trace` ou `Details` para ver a mensagem de erro e o log (stack trace). diff --git a/workshop/Lesson-03-Dashboard-AppHost/README.zh-cn.md b/workshop/Lesson-03-Dashboard-AppHost/README.zh-cn.md index 546973d6..2b20d4a0 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/README.zh-cn.md +++ b/workshop/Lesson-03-Dashboard-AppHost/README.zh-cn.md @@ -1,8 +1,8 @@ -# 使用 .NET Aspire App Host 的仪表板和编排 +# 使用 Aspire App Host 的仪表板和编排 -.NET Aspire 提供了用于对分布式应用程序中的资源和依赖项进行建模的 API。除了这些 API 之外,还有一些工具可以支持一些重要的场景。Orchestrator 用于本地开发目的。 +Aspire 提供了用于对分布式应用程序中的资源和依赖项进行建模的 API。除了这些 API 之外,还有一些工具可以支持一些重要的场景。Orchestrator 用于本地开发目的。 -在继续之前,请考虑 .NET Aspire 中使用的一些常用术语: +在继续之前,请考虑 Aspire 中使用的一些常用术语: - *App model*: 构建您的分布式应用的资源的集合 ([DistributedApplication](https://learn.microsoft.com/dotnet/api/aspire.hosting.distributedapplication)). 有关更正式的定义,请参阅 [Define the app model](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview?tabs=docker#define-the-app-model). - *App host/编排项目*: 该 .NET 项目用来定义和编排 *app model*, 使用 **.AppHost* 后缀 (约定). @@ -15,7 +15,7 @@ 1. 在解决方案中添加名为 `AppHost` 的新项目: - 在解决方案上右键,在弹出菜单上选择 `Add` > `New Project`. - - 选择 `.NET Aspire App Host` 项目模板. + - 选择 `Aspire App Host` 项目模板. - 将项目命名为 `AppHost`. - 点击 `Next` > `Create`. @@ -73,20 +73,20 @@ ``` 3. 通过 Visual Studio Code 或 Visual Studio 的 `Run and Debug` 面板来运训 App Host . -4. 此时, .NET Aspire 的仪表板将会在你的默认浏览器中打开,其中显示你的应用中的资源和依赖。 +4. 此时, Aspire 的仪表板将会在你的默认浏览器中打开,其中显示你的应用中的资源和依赖。 - ![.NET Aspire Dashboard](../media/dashboard.png) + ![Aspire Dashboard](../media/dashboard.png) 5. 通过点击 `MyWeatherHub` 项目的端点来打开气象页面,它的地址应该是 [https://localhost:7274](https://localhost:7274). 6. 请注意,`Api` 和 `MyWeatherHub` 两个项目都处于运行状态,并且像使用配置设置之前一样相互通信。 7. 返回到 Aspire 仪表板, 点击 `View Logs` 按钮查看来自 `Api` 和 `MyWeatherHub` 项目的控制台日志。 8. 选择 `Traces` 页签,然后选择某个 API 调用生成的 trace 上的 `View` 。 - ![.NET Aspire Dashboard](../media/dashboard-trace.png) + ![Aspire Dashboard](../media/dashboard-trace.png) 9. 探索 `Metrics` 页签来查看来自 `Api` 和 `MyWeatherHub` 项目的指标。 - ![.NET Aspire Dashboard](../media/dashboard-metrics.png) + ![Aspire Dashboard](../media/dashboard-metrics.png) ## 创建一个错误 @@ -95,7 +95,7 @@ 3. 在 `MyWeatherApp` 站点上,在多个不同的城市上点击来生成错误。通常,点击 5 个不同的城市将会生成至少一个错误。 4. 在生成错误之后, `Structured` 页签将会自动更新并显示出错误信息。 - ![.NET Aspire Dashboard](../media/dashboard-error.png) + ![Aspire Dashboard](../media/dashboard-error.png) 5. 点击 `Trace` 或者 `Details` 链接来查看错误信息和调用堆栈。 diff --git a/workshop/Lesson-03-Dashboard-AppHost/code/Api/Data/NwsManager.cs b/workshop/Lesson-03-Dashboard-AppHost/code/Api/Data/NwsManager.cs index 0bc74bf3..c837dd43 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-03-Dashboard-AppHost/code/Api/Data/NwsManager.cs @@ -76,7 +76,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://api.weather.gov/"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-03-Dashboard-AppHost/code/AppHost/AppHost.csproj b/workshop/Lesson-03-Dashboard-AppHost/code/AppHost/AppHost.csproj index 3e628913..d91a8535 100644 --- a/workshop/Lesson-03-Dashboard-AppHost/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-03-Dashboard-AppHost/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + diff --git a/workshop/Lesson-04-ServiceDiscovery/README.es.md b/workshop/Lesson-04-ServiceDiscovery/README.es.md index dcb7aece..a93e7ff9 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.es.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.es.md @@ -1,6 +1,6 @@ # Descubrimiento de servicios -.NET Aspire incluye funcionalidad para configurar el descubrimiento de servicios durante el desarrollo y las pruebas. La funcionalidad de descubrimiento de servicios funciona proporcionando configuración en el formato esperado para resolver puntos finales basado en configuración del proyecto .NET Aspire AppHost a los proyectos de servicios individuales agregados al modelo de aplicación. +Aspire incluye funcionalidad para configurar el descubrimiento de servicios durante el desarrollo y las pruebas. La funcionalidad de descubrimiento de servicios funciona proporcionando configuración en el formato esperado para resolver puntos finales basado en configuración del proyecto Aspire AppHost a los proyectos de servicios individuales agregados al modelo de aplicación. ## Configuración de descubrimiento de servicios @@ -11,7 +11,7 @@ Actualmente, `MyWeatherHub` utiliza una configuración estática para conectarse - Se necesitarían definir múltiples configuraciones para los ajustes de http y https. - A medida que agregamos más servicios, la configuración se volvería más compleja. -Para abordar estos problemas, utilizaremos la funcionalidad de descubrimiento de servicios proporcionada por el proyecto .NET Aspire AppHost. Esto permitirá que el servicio `MyWeatherHub` descubra el servicio `Api` en tiempo de ejecución. +Para abordar estos problemas, utilizaremos la funcionalidad de descubrimiento de servicios proporcionada por el proyecto Aspire AppHost. Esto permitirá que el servicio `MyWeatherHub` descubra el servicio `Api` en tiempo de ejecución. 1. Abre el archivo `Program.cs` en el proyecto `AppHost`. 2. Anteriormente agregamos orquestación para incluir varios proyectos usando el método `builder.AddProject`. Esto devolvió un `IResourceBuild` que se puede usar para hacer referencia a los proyectos. Vamos a hacer referencia al proyecto `Api` en el proyecto `MyWeatherHub` actualizando el código: @@ -43,7 +43,7 @@ builder.Services.AddHttpClient( En el ejemplo anterior, `BasketServiceClient` utilizará el punto final predeterminado del servicio `basket`, mientras que `BasketServiceDashboardClient` utilizará el punto final `dashboard` del servicio `basket`. Ahora, actualicemos el proyecto `MyWeatherHub` para que use el descubrimiento de servicios para conectarse al servicio `Api`. -Esto se puede lograr actualizando la configuración existente de `WeatherEndpoint` en el archivo `appsettings.json`. Esto es conveniente cuando se habilita .NET Aspire en una aplicación implementada existente, ya que puedes seguir utilizando la configuración existente. +Esto se puede lograr actualizando la configuración existente de `WeatherEndpoint` en el archivo `appsettings.json`. Esto es conveniente cuando se habilita Aspire en una aplicación implementada existente, ya que puedes seguir utilizando la configuración existente. 1. Abre el archivo `appsettings.json` en el proyecto `MyWeatherHub`. 2. Actualiza la configuración de `WeatherEndpoint` para usar el descubrimiento de servicios: @@ -69,15 +69,15 @@ Opcionalmente, podemos actualizar la URL para no utilizar la configuración de ` 1. Ejecuta la aplicación presionando `F5` o seleccionando la opción `Iniciar depuración`. 2. Abre la aplicación `MyWeatheApp` seleccionando el punto final en el panel de control. 3. Observa que la aplicación `MyWeatherHub` sigue funcionando y ahora utiliza el descubrimiento de servicios para conectarse al servicio `Api`. -4. En el panel de control, haz clic en `Detalles` para el proyecto `MyWeatherHub`. Esto mostrará todas las configuraciones que .NET Aspire configuró al ejecutar la aplicación desde App Host. +4. En el panel de control, haz clic en `Detalles` para el proyecto `MyWeatherHub`. Esto mostrará todas las configuraciones que Aspire configuró al ejecutar la aplicación desde App Host. 5. Haz clic en el icono del ojo para revelar los valores y desplázate hasta la parte inferior donde verás `services__api_http_0` y `services__api_https_0` configurados con los valores correctos del servicio `Api`. ![Configuración de descubrimiento de servicios en el panel de control](../media/dashboard-servicediscovery.png) ## Conclusión -Esto es solo el comienzo de lo que podemos hacer con el descubrimiento de servicios y .NET Aspire. A medida que nuestra aplicación crece y agregamos más servicios, podemos seguir utilizando el descubrimiento de servicios para conectar servicios en tiempo de ejecución. Esto nos permitirá escalar fácilmente nuestra aplicación y hacerla más resistente a los cambios en el entorno. +Esto es solo el comienzo de lo que podemos hacer con el descubrimiento de servicios y Aspire. A medida que nuestra aplicación crece y agregamos más servicios, podemos seguir utilizando el descubrimiento de servicios para conectar servicios en tiempo de ejecución. Esto nos permitirá escalar fácilmente nuestra aplicación y hacerla más resistente a los cambios en el entorno. ## Obtén más información -Puedes obtener más información sobre el uso y la configuración avanzada del descubrimiento de servicios en la documentación de [.NET Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview). +Puedes obtener más información sobre el uso y la configuración avanzada del descubrimiento de servicios en la documentación de [Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview). diff --git a/workshop/Lesson-04-ServiceDiscovery/README.fr.md b/workshop/Lesson-04-ServiceDiscovery/README.fr.md index b6bc2cce..84bbef85 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.fr.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.fr.md @@ -1,6 +1,6 @@ # Découverte de services -.NET Aspire inclut des fonctionnalités permettant de configurer la découverte de services au moment du développement et des tests. La fonctionnalité de découverte de services fonctionne en fournissant une configuration au format attendu par le résolveur de point de terminaison basé sur la configuration du projet .NET Aspire AppHost aux projets de service individuels ajoutés au modèle d'application. +Aspire inclut des fonctionnalités permettant de configurer la découverte de services au moment du développement et des tests. La fonctionnalité de découverte de services fonctionne en fournissant une configuration au format attendu par le résolveur de point de terminaison basé sur la configuration du projet Aspire AppHost aux projets de service individuels ajoutés au modèle d'application. ## Configuration de la découverte de services @@ -11,7 +11,7 @@ Actuellement, `MyWeatherHub` utilise une configuration statique pour se connecte - Plusieurs paramètres de configuration devront être définis pour les paramètres http et https. - À mesure que nous ajoutons plus de services, la configuration deviendrait plus complexe. -Pour résoudre ces problèmes, nous utiliserons la fonctionnalité de découverte de services fournie par le projet .NET Aspire AppHost. Cela permettra au service `MyWeatherHub` de découvrir le service `Api` au moment de l'exécution. +Pour résoudre ces problèmes, nous utiliserons la fonctionnalité de découverte de services fournie par le projet Aspire AppHost. Cela permettra au service `MyWeatherHub` de découvrir le service `Api` au moment de l'exécution. 1. Ouvrez le fichier `Program.cs` dans le projet `AppHost`. 1. Auparavant, nous avons ajouté l'orchestration pour inclure plusieurs projets en utilisant la méthode `builder.AddProject`. Cela a renvoyé un `IResourceBuild` qui peut être utilisé pour référencer des projets. Référençons le projet `Api` dans le projet `MyWeatherHub` en mettant à jour le code : @@ -43,7 +43,7 @@ builder.Services.AddHttpClient( Dans l'exemple ci-dessus, `BasketServiceClient` utilisera le point de terminaison par défaut du service `basket`, tandis que `BasketServiceDashboardClient` utilisera le point de terminaison `dashboard` du service `basket`. Maintenant, mettons à jour le projet `MyWeatherHub` pour utiliser la découverte de services pour nous connecter au service `Api`. -Cela peut être accompli en mettant à jour les paramètres de configuration `WeatherEndpoint` existants dans `appsettings.json`. Ceci est pratique lorsque vous activez .NET Aspire dans une application déployée existante, car vous pouvez continuer à utiliser vos paramètres de configuration existants. +Cela peut être accompli en mettant à jour les paramètres de configuration `WeatherEndpoint` existants dans `appsettings.json`. Ceci est pratique lorsque vous activez Aspire dans une application déployée existante, car vous pouvez continuer à utiliser vos paramètres de configuration existants. 1. Ouvrez le fichier `appsettings.json` dans le projet `MyWeatherHub`. @@ -70,11 +70,11 @@ En option, nous pouvons mettre à jour l'URL pour ne pas utiliser les paramètre 1. Exécutez l'application en appuyant sur `F5` ou en sélectionnant l'option `Start Debugging`. 1. Ouvrez `MyWeatheApp` en sélectionnant le point de terminaison dans le tableau de bord. 1. Notez que l'application `MyWeatherHub` fonctionne toujours et utilise désormais la découverte de services pour se connecter au service `Api`. -1. Dans le tableau de bord, cliquez sur `Details` pour le projet `MyWeatherHub`. Cela fera apparaître tous les paramètres configurés par .NET Aspire lors de l'exécution de l'application à partir de l'hôte de l'application. +1. Dans le tableau de bord, cliquez sur `Details` pour le projet `MyWeatherHub`. Cela fera apparaître tous les paramètres configurés par Aspire lors de l'exécution de l'application à partir de l'hôte de l'application. 1. Cliquez sur l'icône en forme d'œil pour révéler les valeurs et faites défiler vers le bas où vous verrez `services__api_http_0` et `services__api_https_0` configurés avec les valeurs correctes du service `Api`. ![Paramètres de découverte de services dans le tableau de bord](../media/dashboard-servicediscovery.png) ## Conclusion -Ce n'était que le début de ce que nous pouvons faire avec la découverte de services et .NET Aspire. À mesure que notre application se développe et que nous ajoutons davantage de services, nous pouvons continuer à utiliser la découverte de services pour connecter les services au moment de l'exécution. Cela nous permettra de faciliter +Ce n'était que le début de ce que nous pouvons faire avec la découverte de services et Aspire. À mesure que notre application se développe et que nous ajoutons davantage de services, nous pouvons continuer à utiliser la découverte de services pour connecter les services au moment de l'exécution. Cela nous permettra de faciliter diff --git a/workshop/Lesson-04-ServiceDiscovery/README.jp.md b/workshop/Lesson-04-ServiceDiscovery/README.jp.md index 4df2c1c6..46932087 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.jp.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.jp.md @@ -1,6 +1,6 @@ # サービスディスカバリー -.NET Aspire には、開発およびテスト時にサービスディスカバリを設定するための機能が含まれています。サービスディスカバリ機能は、.NET Aspire AppHost プロジェクトからアプリケーションモデルに追加された個々のサービスプロジェクトに対して、構成ベースのエンドポイントリゾルバから期待される形式で構成を提供することで機能します。 +Aspire には、開発およびテスト時にサービスディスカバリを設定するための機能が含まれています。サービスディスカバリ機能は、Aspire AppHost プロジェクトからアプリケーションモデルに追加された個々のサービスプロジェクトに対して、構成ベースのエンドポイントリゾルバから期待される形式で構成を提供することで機能します。 ## サービスディスカバリの設定 @@ -11,7 +11,7 @@ - HTTP および HTTPS の設定に対して複数の構成設定が必要になります。 - サービスが追加されると、構成がより複雑になります。 -これらの問題に対処するために、.NET Aspire AppHost プロジェクトが提供するサービスディスカバリ機能を使用します。これにより、`MyWeatherHub` サービスが実行時に `Api` サービスをディスカバリできるようになります。 +これらの問題に対処するために、Aspire AppHost プロジェクトが提供するサービスディスカバリ機能を使用します。これにより、`MyWeatherHub` サービスが実行時に `Api` サービスをディスカバリできるようになります。 1. `AppHost` プロジェクトの `Program.cs` ファイルを開きます。 1. 以前、`builder.AddProject` メソッドを使用していくつかのプロジェクトを含むオーケストレーションを追加しました。これにより、プロジェクトを参照するために使用できる `IResourceBuild` が返されます。次のコードを更新して、`MyWeatherHub` プロジェクトで `Api` プロジェクトを参照します: @@ -43,7 +43,7 @@ builder.Services.AddHttpClient( 上記の例では、`BasketServiceClient` は `basket` サービスのデフォルトエンドポイントを使用し、`BasketServiceDashboardClient` は `basket` サービスの `dashboard` エンドポイントを使用します。次に、`MyWeatherHub` プロジェクトを更新して、サービスディスカバリを使用して `Api` サービスに接続します。 -これは、既存の `WeatherEndpoint` 構成設定 (`appsettings.json`) を更新することで実現できます。これにより、既存のデプロイ済みアプリケーションで .NET Aspire を有効にするときに、既存の構成設定を引き続き使用できます。 +これは、既存の `WeatherEndpoint` 構成設定 (`appsettings.json`) を更新することで実現できます。これにより、既存のデプロイ済みアプリケーションで Aspire を有効にするときに、既存の構成設定を引き続き使用できます。 1. `MyWeatherHub` プロジェクトの `appsettings.json` ファイルを開きます。 @@ -70,15 +70,15 @@ builder.Services.AddHttpClient( 1. `F5 キー` を押すか、`デバッグ開始` オプションを選択してアプリケーションを実行します。 1. ダッシュボードのエンドポイントを選択して `MyWeatherApp` を開きます。 1. `MyWeatherHub` アプリがまだ動作しており、サービスディスカバリを使用して `Api` サービスに接続していることを確認します。 -1. ダッシュボードで `MyWeatherHub` プロジェクトの `詳細` をクリックします。これにより、App Host からアプリを実行する際に .NET Aspire が構成したすべての設定が表示されます。 +1. ダッシュボードで `MyWeatherHub` プロジェクトの `詳細` をクリックします。これにより、App Host からアプリを実行する際に Aspire が構成したすべての設定が表示されます。 1. 目のアイコンをクリックして値を表示し、`services__api_http_0` および `services__api_https_0` が `Api` サービスの正しい値で構成されていることを確認します。 ![ダッシュボードのサービスディスカバリ設定](.../media/dashboard-servicediscovery.png) ## 結論 -これは、サービスディスカバリと .NET Aspire を使用してできることの始まりに過ぎません。アプリケーションが成長し、さらに多くのサービスが追加されるにつれて、サービスディスカバリを使用して実行時にサービスを接続し続けることができます。これにより、アプリケーションを簡単にスケールアップし、環境の変化に対してよりレジリエントになります。 +これは、サービスディスカバリと Aspire を使用してできることの始まりに過ぎません。アプリケーションが成長し、さらに多くのサービスが追加されるにつれて、サービスディスカバリを使用して実行時にサービスを接続し続けることができます。これにより、アプリケーションを簡単にスケールアップし、環境の変化に対してよりレジリエントになります。 ## 詳細情報 -サービスディスカバリの高度な使用法と構成については、[.NET Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) ドキュメントをご覧ください。 +サービスディスカバリの高度な使用法と構成については、[Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) ドキュメントをご覧ください。 diff --git a/workshop/Lesson-04-ServiceDiscovery/README.ko.md b/workshop/Lesson-04-ServiceDiscovery/README.ko.md index 3de707c0..4d18ce71 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.ko.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.ko.md @@ -2,7 +2,7 @@ # 서비스 검색(디스커버리) -.NET Aspire는 개발 및 테스트 시 서비스 검색을 구성하는 기능을 포함하고 있습니다. 서비스 검색 기능은 .NET Aspire AppHost 프로젝트의 구성 기반 엔드포인트 리졸버를 통해 자동으로 구성을 생성한 후 개별 애플리케이션 모델에 적용합니다. +Aspire는 개발 및 테스트 시 서비스 검색을 구성하는 기능을 포함하고 있습니다. 서비스 검색 기능은 Aspire AppHost 프로젝트의 구성 기반 엔드포인트 리졸버를 통해 자동으로 구성을 생성한 후 개별 애플리케이션 모델에 적용합니다. ## 서비스 검색 구성 @@ -13,7 +13,7 @@ - http 및 https 설정에 대해 다양한 구성 설정을 정의해야 합니다. - 서비스를 추가할수록 구성이 더 복잡해집니다. -이러한 문제를 해결하기 위해 .NET Aspire AppHost 프로젝트에서 제공하는 서비스 검색 기능을 사용할 것입니다. 이를 통해 `MyWeatherHub` 서비스는 런타임에 `Api` 서비스를 검색할 수 있습니다. +이러한 문제를 해결하기 위해 Aspire AppHost 프로젝트에서 제공하는 서비스 검색 기능을 사용할 것입니다. 이를 통해 `MyWeatherHub` 서비스는 런타임에 `Api` 서비스를 검색할 수 있습니다. 1. `AppHost` 프로젝트의 `Program.cs` 파일을 엽니다. 1. 이전에 이미 `builder.AddProject` 메서드를 사용하여 여러 프로젝트를 포함하도록 오케스트레이션을 추가했습니다. 이 메서드는 프로젝트를 참조하는 데 쓸 수 있게끔 `IResourceBuild`를 반환합니다. `MyWeatherHub` 프로젝트에서 `Api` 프로젝트를 참조하도록 코드를 업데이트합니다: @@ -45,7 +45,7 @@ builder.Services.AddHttpClient( 위의 예에서 `BasketServiceClient`는 `basket` 서비스의 기본 엔드포인트를 사용하고, `BasketServiceDashboardClient`는 `basket` 서비스의 `dashboard` 엔드포인트를 사용합니다. 이제 `MyWeatherHub` 프로젝트를 업데이트하여 서비스 검색을 사용하여 `Api` 서비스에 연결하도록 합니다. -이는 `appsettings.json`의 기존 `WeatherEndpoint` 구성 설정을 업데이트하여 수행할 수 있습니다. 이는 기존 배포된 애플리케이션에서 .NET Aspire를 활성화할 때 기존 구성 설정을 계속 사용할 수 있으므로 편리합니다. +이는 `appsettings.json`의 기존 `WeatherEndpoint` 구성 설정을 업데이트하여 수행할 수 있습니다. 이는 기존 배포된 애플리케이션에서 Aspire를 활성화할 때 기존 구성 설정을 계속 사용할 수 있으므로 편리합니다. 1. `MyWeatherHub` 프로젝트의 `appsettings.json` 파일을 엽니다. 1. `WeatherEndpoint` 구성 설정을 서비스 검색을 사용하도록 업데이트합니다: @@ -71,15 +71,15 @@ builder.Services.AddHttpClient( 1. `F5`를 누르거나 `Start Debugging` 옵션을 선택하여 애플리케이션을 실행합니다. 1. 대시보드에서 엔드포인트를 선택하여 `MyWeatherApp`을 엽니다. 1. `MyWeatherHub` 앱이 여전히 작동하며 이제 서비스 검색을 사용하여 `Api` 서비스에 연결하고 있음을 확인합니다. -1. 대시보드에서 `MyWeatherHub` 프로젝트의 `Details`를 클릭합니다. 이 작업은 App Host에서 애플리케이션을 실행할 때 .NET Aspire가 구성한 모든 설정을 표시합니다. +1. 대시보드에서 `MyWeatherHub` 프로젝트의 `Details`를 클릭합니다. 이 작업은 App Host에서 애플리케이션을 실행할 때 Aspire가 구성한 모든 설정을 표시합니다. 1. 아이콘을 클릭하여 값을 확인하고 맨 아래로 스크롤하여 `services__api_http_0` 및 `services__api_https_0`가 `Api` 서비스의 올바른 구성 값을 갖고 있는지 확인합니다. ![대시보드에서 서비스 검색 설정](../media/dashboard-servicediscovery.png) ## 결론 -이것은 서비스 검색과 .NET Aspire로 할 수 있는 일의 시작일 뿐입니다. 애플리케이션이 성장하고 더 많은 서비스를 추가함에 따라 서비스 검색을 사용하여 런타임에 서비스를 연결할 수 있습니다. 이를 통해 애플리케이션을 쉽게 확장하고 환경 변화에 더 잘 대처할 수 있게 됩니다. +이것은 서비스 검색과 Aspire로 할 수 있는 일의 시작일 뿐입니다. 애플리케이션이 성장하고 더 많은 서비스를 추가함에 따라 서비스 검색을 사용하여 런타임에 서비스를 연결할 수 있습니다. 이를 통해 애플리케이션을 쉽게 확장하고 환경 변화에 더 잘 대처할 수 있게 됩니다. ## 자세히 알아보기 -서비스 검색의 고급 사용 및 구성에 대한 자세한 내용은 [.NET Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) 문서를 참조하세요. +서비스 검색의 고급 사용 및 구성에 대한 자세한 내용은 [Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) 문서를 참조하세요. diff --git a/workshop/Lesson-04-ServiceDiscovery/README.pt-br.md b/workshop/Lesson-04-ServiceDiscovery/README.pt-br.md index 287ae0c6..09684985 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.pt-br.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.pt-br.md @@ -1,6 +1,6 @@ # Descoberta de Serviços (Service Discovery) -O .NET Aspire inclui funcionalidades para configurar a descoberta de serviços durante o desenvolvimento e testes. A funcionalidade de descoberta de serviços funciona fornecendo configuração no formato esperado pelo resolvedor de endpoints baseado em configuração do projeto .NET Aspire AppHost para os projetos de serviço individuais adicionados ao modelo de aplicação. +O Aspire inclui funcionalidades para configurar a descoberta de serviços durante o desenvolvimento e testes. A funcionalidade de descoberta de serviços funciona fornecendo configuração no formato esperado pelo resolvedor de endpoints baseado em configuração do projeto Aspire AppHost para os projetos de serviço individuais adicionados ao modelo de aplicação. ## Configuração de Descoberta de Serviços @@ -11,7 +11,7 @@ Atualmente, o `MyWeatherHub` está usando uma configuração estática para se c - Múltiplas configurações precisariam ser definidas para as configurações http e https. - À medida que adicionamos mais serviços, a configuração se tornaria mais complexa. -Para resolver esses problemas, usaremos a funcionalidade de descoberta de serviços fornecida pelo projeto .NET Aspire AppHost. Isso permitirá que o serviço `MyWeatherHub` descubra o serviço `Api` em tempo de execução. +Para resolver esses problemas, usaremos a funcionalidade de descoberta de serviços fornecida pelo projeto Aspire AppHost. Isso permitirá que o serviço `MyWeatherHub` descubra o serviço `Api` em tempo de execução. 1. Abra o arquivo `Program.cs` no projeto `AppHost`. 1. Anteriormente, adicionamos orquestração para incluir vários projetos usando o método `builder.AddProject`. Isso retornou um `IResourceBuild` que pode ser usado para referenciar projetos. Vamos referenciar o projeto `Api` no projeto `MyWeatherHub` atualizando o código: @@ -43,7 +43,7 @@ builder.Services.AddHttpClient( No exemplo, o `BasketServiceClient` usará o endpoint padrão do serviço `basket`, enquanto o `BasketServiceDashboardClient` usará o endpoint `dashboard` do serviço `basket`. Agora, vamos atualizar o projeto `MyWeatherHub` para usar a descoberta de serviços para se conectar ao serviço `Api`. -Isso pode ser realizado atualizando as configurações existentes de `WeatherEndpoint` no `appsettings.json`. Isso é conveniente ao habilitar o .NET Aspire em um aplicativo já implantado, pois você pode continuar a usar suas configurações existentes. +Isso pode ser realizado atualizando as configurações existentes de `WeatherEndpoint` no `appsettings.json`. Isso é conveniente ao habilitar o Aspire em um aplicativo já implantado, pois você pode continuar a usar suas configurações existentes. 1. Abra o arquivo `appsettings.json` no projeto `MyWeatherHub`. @@ -72,15 +72,15 @@ builder.Services.AddHttpClient( 1. Execute a aplicação pressionando `F5` ou selecionando a opção `Start Debugging`. 1. Abra o `MyWeatheApp` selecionando o endpoint no painel. 1. Observe que o aplicativo `MyWeatherHub` ainda funciona e agora está usando a descoberta de serviços para se conectar ao serviço `Api`. -1. No painel, clique em `Details` para o projeto `MyWeatherHub`. Isso mostrará todas as configurações que o .NET Aspire configurou ao executar o aplicativo a partir do App Host +1. No painel, clique em `Details` para o projeto `MyWeatherHub`. Isso mostrará todas as configurações que o Aspire configurou ao executar o aplicativo a partir do App Host 1. Clique no ícone de olho para revelar os valores e role até o final onde você verá `services__api_http_0` e `services__api_https_0` configurados com os valores corretos do serviço `Api`. ![Configurações de descoberta de serviços no painel](.../media/dashboard-servicediscovery.png) ## Conclusão -Isso foi apenas o começo do que podemos fazer com a descoberta de serviços e o .NET Aspire. À medida que nossa aplicação cresce e adicionamos mais serviços, podemos continuar a usar a descoberta de serviços para conectar serviços em tempo de execução. Isso nos permitirá escalar nossa aplicação facilmente e torná-la mais resiliente a mudanças no ambiente. +Isso foi apenas o começo do que podemos fazer com a descoberta de serviços e o Aspire. À medida que nossa aplicação cresce e adicionamos mais serviços, podemos continuar a usar a descoberta de serviços para conectar serviços em tempo de execução. Isso nos permitirá escalar nossa aplicação facilmente e torná-la mais resiliente a mudanças no ambiente. ## Saiba Mais -Você pode aprender mais sobre o uso avançado e configuração da descoberta de serviços na documentação do [.NET Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview). +Você pode aprender mais sobre o uso avançado e configuração da descoberta de serviços na documentação do [Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview). diff --git a/workshop/Lesson-04-ServiceDiscovery/README.zh-cn.md b/workshop/Lesson-04-ServiceDiscovery/README.zh-cn.md index 2ffc29ec..a1765eac 100644 --- a/workshop/Lesson-04-ServiceDiscovery/README.zh-cn.md +++ b/workshop/Lesson-04-ServiceDiscovery/README.zh-cn.md @@ -1,6 +1,6 @@ # 服务发现 Service Discovery -.NET Aspire 包括在开发和测试阶段配置服务发现的功能。该特性允许按其名称引用其他资源,并在运行时解析具体的地址详细信息。服务发现功能的工作原理是,以基于配置的端点来解析程序所需的格式提供配置,所支持范围从 .NET Aspire App Host 项目到添加到应用程序模型的各个服务项目。 +Aspire 包括在开发和测试阶段配置服务发现的功能。该特性允许按其名称引用其他资源,并在运行时解析具体的地址详细信息。服务发现功能的工作原理是,以基于配置的端点来解析程序所需的格式提供配置,所支持范围从 Aspire App Host 项目到添加到应用程序模型的各个服务项目。 ## 服务发现配置 Service Discovery Configuration @@ -11,7 +11,7 @@ - 需要针对 http 和 https 协议设置定义多个配置 - 随着我们增加更多的服务,配置将变得更加复杂 -为了解决这些问题,我们将使用 .NET Aspire App Host 项目提供的服务发现功能。这将支持 `MyWeatherHub` 服务在运行时发现 `Api` 服务。 +为了解决这些问题,我们将使用 Aspire App Host 项目提供的服务发现功能。这将支持 `MyWeatherHub` 服务在运行时发现 `Api` 服务。 1. 打开 `AppHost` 项目中的 `Program.cs` 文件 2. 在前面为了支持编排,我们已经使用 `builder.AddProject` 方法包含了多个项目,它返回一个 `IResourceBuilder` 结果,可以被用来引用其它资源。让我们更新代码来使得 `MyWeatherHub` 项目引用 `Api` 项目: @@ -45,7 +45,7 @@ builder.Services.AddHttpClient( 在上面的示例中, `BasketServiceClient` 将为 `basket` 服务使用 `https` 和 `http` 端点, 而对于 `BasketServiceDashboardClient` 来说,它将为 `basket` 服务使用 `dashboard` 端点, 而不管是通过 HTTPS 还是 HTTP schemes, 取决于哪一个可用。 -现在,让我们更新 `MyWeatherHub` 项目来使用服务发现连接到 `Api` 服务。这可以通过更新现有的位于 `appsettings.json` 配置文件中的 `WeatherEndpoint` 配置来实现。在现有已部署的应用程序中启用 .NET Aspire 非常方便,因为您可以继续使用现有的配置设置。 +现在,让我们更新 `MyWeatherHub` 项目来使用服务发现连接到 `Api` 服务。这可以通过更新现有的位于 `appsettings.json` 配置文件中的 `WeatherEndpoint` 配置来实现。在现有已部署的应用程序中启用 Aspire 非常方便,因为您可以继续使用现有的配置设置。 1. 打开 `MyWeatherHub` 项目中的 `appsettings.json` 配置文件。 2. 更新 `WeatherEndpoint` 配置设置以使用服务发现: @@ -71,17 +71,17 @@ builder.Services.AddHttpClient( 1. 通过 `F5` 快捷键或者选择 `Start Debugging` 运行应用程序。 2. 在仪表板中通过选择端点来打开 `MyWeatherApp` . 3. 注意到 `MyWeatherHub` 应用同以前一样工作,现在它使用服务发现连接到 `Api` 服务. -4. 在仪表板中点击 `MyWeatherHub` 项目的 `Details`. 这将调出 .NET Aspire 在从 App Host 运行应用程序时配置的所有设置。 +4. 在仪表板中点击 `MyWeatherHub` 项目的 `Details`. 这将调出 Aspire 在从 App Host 运行应用程序时配置的所有设置。 5. 点击其中的眼睛图标来查看配置值,卷绕到底部,你将看到对于 `Api` 服务的 `services__api__http__0` 和 `services__api__https__0` 配置了正确的值。 ![Service discovery settings in the dashboard](../media/dashboard-servicediscovery.png) ## 结论 -这只是我们可以使用服务发现和 .NET Aspire 完成的开始。随着我们的应用程序增长和添加更多服务,我们可以继续使用服务发现在运行时连接服务。这将使我们能够轻松扩展我们的应用程序,并使其对环境变化更具弹性。 +这只是我们可以使用服务发现和 Aspire 完成的开始。随着我们的应用程序增长和添加更多服务,我们可以继续使用服务发现在运行时连接服务。这将使我们能够轻松扩展我们的应用程序,并使其对环境变化更具弹性。 ## 进一步学习 -您可以通过 [.NET Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) 文档进一步学习服务发现的高级用法和配置。 +您可以通过 [Aspire Service Discovery](https://learn.microsoft.com/dotnet/aspire/service-discovery/overview) 文档进一步学习服务发现的高级用法和配置。 **下一节**: [模块 #5: Integrations](../Lesson-05-Integrations/README.md) diff --git a/workshop/Lesson-04-ServiceDiscovery/code/Api/Data/NwsManager.cs b/workshop/Lesson-04-ServiceDiscovery/code/Api/Data/NwsManager.cs index 8575af8a..933d95c8 100644 --- a/workshop/Lesson-04-ServiceDiscovery/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-04-ServiceDiscovery/code/Api/Data/NwsManager.cs @@ -68,7 +68,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) { // BaseAddress points to the modeled external service name (configured in AppHost) client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-04-ServiceDiscovery/code/AppHost/AppHost.csproj b/workshop/Lesson-04-ServiceDiscovery/code/AppHost/AppHost.csproj index 388725d3..ee1648d7 100644 --- a/workshop/Lesson-04-ServiceDiscovery/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-04-ServiceDiscovery/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe diff --git a/workshop/Lesson-04-ServiceDiscovery/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-04-ServiceDiscovery/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-04-ServiceDiscovery/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-04-ServiceDiscovery/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-05-Integrations/README.es.md b/workshop/Lesson-05-Integrations/README.es.md index 3696b1a0..58606643 100644 --- a/workshop/Lesson-05-Integrations/README.es.md +++ b/workshop/Lesson-05-Integrations/README.es.md @@ -1,10 +1,10 @@ -# Integraciones .NET Aspire +# Integraciones Aspire -Los componentes .NET Aspire son un conjunto curado de paquetes NuGet seleccionados específicamente para facilitar la integración de aplicaciones nativas de la nube con servicios y plataformas destacados, incluidos, entre otros, Redis y PostgreSQL. Cada componente proporciona funcionalidades esenciales para aplicaciones nativas de la nube a través de la provisión automática o patrones de configuración estandarizados. Los componentes .NET Aspire se pueden usar sin un proyecto de host de aplicación (orquestador), pero están diseñados para funcionar mejor con el host de aplicaciones .NET Aspire. +Los componentes Aspire son un conjunto curado de paquetes NuGet seleccionados específicamente para facilitar la integración de aplicaciones nativas de la nube con servicios y plataformas destacados, incluidos, entre otros, Redis y PostgreSQL. Cada componente proporciona funcionalidades esenciales para aplicaciones nativas de la nube a través de la provisión automática o patrones de configuración estandarizados. Los componentes Aspire se pueden usar sin un proyecto de host de aplicación (orquestador), pero están diseñados para funcionar mejor con el host de aplicaciones Aspire. -Los componentes .NET Aspire no deben confundirse con los paquetes de alojamiento .NET Aspire, ya que sirven para propósitos diferentes. Los paquetes de alojamiento se utilizan para modelar y configurar varios recursos en una aplicación .NET Aspire, mientras que los componentes se utilizan para mapear la configuración a varias bibliotecas de clientes. +Los componentes Aspire no deben confundirse con los paquetes de alojamiento Aspire, ya que sirven para propósitos diferentes. Los paquetes de alojamiento se utilizan para modelar y configurar varios recursos en una aplicación Aspire, mientras que los componentes se utilizan para mapear la configuración a varias bibliotecas de clientes. -Existe una lista en constante crecimiento de [Componentes .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) creados y distribuidos por Microsoft y la comunidad. .NET Aspire es flexible y cualquiera puede crear su propio componente para integrarse con sus propios servicios. +Existe una lista en constante crecimiento de [Componentes Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) creados y distribuidos por Microsoft y la comunidad. Aspire es flexible y cualquiera puede crear su propio componente para integrarse con sus propios servicios. Mejoremos nuestra aplicación añadiendo un componente. Vamos a añadir un componente que nos ayudará a conectarnos a una caché de Redis para mejorar el rendimiento de nuestra API. @@ -17,7 +17,7 @@ Existen dos tipos de caché que podríamos integrar en nuestra aplicación, incl Integraremos el componente de _Caché de salida_ en nuestro host de la aplicación. Este componente nos ayudará a cachear la respuesta de nuestra API en la caché de Redis. -Para añadir el componente Redis a nuestro host de la aplicación, necesitamos instalar el paquete NuGet `Aspire.Hosting.Redis`. Este paquete proporciona los componentes necesarios para configurar el servicio en el Host de la Aplicación. Redis se proporciona a través de una imagen de contenedor en este taller, y cuando iniciamos el Host de la Aplicación .NET Aspire, automáticamente descargará la imagen del contenedor de Redis y empezará el servidor de Redis. +Para añadir el componente Redis a nuestro host de la aplicación, necesitamos instalar el paquete NuGet `Aspire.Hosting.Redis`. Este paquete proporciona los componentes necesarios para configurar el servicio en el Host de la Aplicación. Redis se proporciona a través de una imagen de contenedor en este taller, y cuando iniciamos el Host de la Aplicación Aspire, automáticamente descargará la imagen del contenedor de Redis y empezará el servidor de Redis. Con el NuGet instalado, podemos configurarlo. @@ -100,7 +100,7 @@ No hemos realizado cambios en los proyectos `Api` o `MyWeatherHub`, pero podemos ## Contenedores Redis Personalizados -Los componentes de .NET Aspire son flexibles y personalizables. Por defecto, el componente Redis utiliza una imagen de contenedor de Redis de Docker Hub. Sin embargo, puedes usar tu propia imagen de contenedor de Redis proporcionando el nombre de la imagen y la etiqueta después del método `AddRedis`. Por ejemplo, si tienes una imagen de contenedor de Redis personalizada como [Garnet](https://github.com/microsoft/garnet), puedes proporcionar el nombre de la imagen y la etiqueta en el Host de la Aplicación de la siguiente manera: +Los componentes de Aspire son flexibles y personalizables. Por defecto, el componente Redis utiliza una imagen de contenedor de Redis de Docker Hub. Sin embargo, puedes usar tu propia imagen de contenedor de Redis proporcionando el nombre de la imagen y la etiqueta después del método `AddRedis`. Por ejemplo, si tienes una imagen de contenedor de Redis personalizada como [Garnet](https://github.com/microsoft/garnet), puedes proporcionar el nombre de la imagen y la etiqueta en el Host de la Aplicación de la siguiente manera: ```csharp var cache = builder.AddRedis("cache") @@ -121,6 +121,6 @@ var cache = builder.AddRedis("cache") En esta sección, añadimos un componente Redis al Host de la Aplicación e integramos la caché de salida en la API. Vimos cómo la respuesta fue cacheada en la caché de Redis y cómo la segunda solicitud fue mucho más rápida que la primera. También vimos cómo usar Redis Commander para gestionar la caché de Redis. -Hay muchos más componentes disponibles que puedes usar para integrar con tus servicios. Puedes encontrar la lista de componentes disponibles [en la documentación de .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components). +Hay muchos más componentes disponibles que puedes usar para integrar con tus servicios. Puedes encontrar la lista de componentes disponibles [en la documentación de Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components). Un siguiente paso natural sería integrar una base de datos o aprovechar Azure Redis Cache como una solución alojada. Componentes para estos y más están disponibles en NuGet. diff --git a/workshop/Lesson-05-Integrations/README.fr.md b/workshop/Lesson-05-Integrations/README.fr.md index 4730a181..ac0890c2 100644 --- a/workshop/Lesson-05-Integrations/README.fr.md +++ b/workshop/Lesson-05-Integrations/README.fr.md @@ -1,10 +1,10 @@ -# Intégrations .NET Aspire +# Intégrations Aspire -Les composants .NET Aspire sont une suite organisée de packages NuGet spécifiquement sélectionnés pour faciliter l'intégration d'applications cloud natives avec des services et plates-formes de premier plan, notamment, mais sans s'y limiter, Redis et PostgreSQL. Chaque composant fournit des fonctionnalités cloud natives essentielles via un provisionnement automatique ou des modèles de configuration standardisés. Les composants .NET Aspire peuvent être utilisés sans le projet `AppHost` (l'orchestrateur), mais ils sont conçus pour fonctionner de manière optimale avec l’app host .NET Aspire. +Les composants Aspire sont une suite organisée de packages NuGet spécifiquement sélectionnés pour faciliter l'intégration d'applications cloud natives avec des services et plates-formes de premier plan, notamment, mais sans s'y limiter, Redis et PostgreSQL. Chaque composant fournit des fonctionnalités cloud natives essentielles via un provisionnement automatique ou des modèles de configuration standardisés. Les composants Aspire peuvent être utilisés sans le projet `AppHost` (l'orchestrateur), mais ils sont conçus pour fonctionner de manière optimale avec l’app host Aspire. -Les composants .NET Aspire ne doivent pas être confondus avec les packages d'hébergement .NET Aspire, car ils répondent à des objectifs différents. Les packages d'hébergement sont utilisés pour modéliser et configurer diverses ressources dans une application .NET Aspire, tandis que les composants sont utilisés pour mapper la configuration à diverses bibliothèques clientes. +Les composants Aspire ne doivent pas être confondus avec les packages d'hébergement Aspire, car ils répondent à des objectifs différents. Les packages d'hébergement sont utilisés pour modéliser et configurer diverses ressources dans une application Aspire, tandis que les composants sont utilisés pour mapper la configuration à diverses bibliothèques clientes. -Il existe une liste sans cesse croissante de [composants .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) créés et livrés par Microsoft et le communauté. .NET Aspire est flexible et n'importe qui peut créer son propre composant à intégrer à ses propres services. +Il existe une liste sans cesse croissante de [composants Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) créés et livrés par Microsoft et le communauté. Aspire est flexible et n'importe qui peut créer son propre composant à intégrer à ses propres services. Améliorons notre application en y ajoutant un composant. Nous ajouterons un composant qui nous aidera à nous connecter à un cache Redis pour améliorer les performances de notre API. @@ -17,7 +17,7 @@ Il existe deux types de mise en cache que nous pourrions intégrer dans notre ap Nous intégrerons le composant _Output caching_ à notre hôte d'application. Ce composant nous aidera à mettre en cache la réponse de notre API dans le cache Redis. -Pour ajouter le composant Redis à notre hôte d'application, nous devons installer le package NuGet `Aspire.Hosting.Redis`. Ce package fournit les composants nécessaires pour configurer le service dans App Host. Redis est fourni via une image de conteneur dans cet atelier, et lorsque nous démarrons l'hôte de l'application .NET Aspire, il téléchargera automatiquement l'image du conteneur Redis et démarrera le serveur Redis. +Pour ajouter le composant Redis à notre hôte d'application, nous devons installer le package NuGet `Aspire.Hosting.Redis`. Ce package fournit les composants nécessaires pour configurer le service dans App Host. Redis est fourni via une image de conteneur dans cet atelier, et lorsque nous démarrons l'hôte de l'application Aspire, il téléchargera automatiquement l'image du conteneur Redis et démarrera le serveur Redis. Avec NuGet installé, nous pouvons le configurer. @@ -100,7 +100,7 @@ Nous n'avons apporté aucune modification aux projets `Api` ou `MyWeatherHub`, m ## Conteneurs Redis personnalisés -Les composants .NET Aspire sont flexibles et personnalisables. Par défaut, le composant Redis utilise une image de conteneur Redis de Docker Hub. Cependant, vous pouvez utiliser votre propre image de conteneur Redis en fournissant le nom de l'image et la balise après la méthode `AddRedis`. Par exemple, si vous disposez d'une image de conteneur Redis personnalisée telle que [Garnet](https://github.com/microsoft/garnet), vous pouvez fournir le nom de l'image et la balise dans l'hôte d'application comme suit : +Les composants Aspire sont flexibles et personnalisables. Par défaut, le composant Redis utilise une image de conteneur Redis de Docker Hub. Cependant, vous pouvez utiliser votre propre image de conteneur Redis en fournissant le nom de l'image et la balise après la méthode `AddRedis`. Par exemple, si vous disposez d'une image de conteneur Redis personnalisée telle que [Garnet](https://github.com/microsoft/garnet), vous pouvez fournir le nom de l'image et la balise dans l'hôte d'application comme suit : ```csharp var cache = builder.AddRedis("cache") @@ -121,6 +121,6 @@ var cache = builder.AddRedis("cache") Dans cette section, nous avons ajouté un composant Redis à App Host et intégré la mise en cache de sortie dans l'API. Nous avons vu comment la réponse était mise en cache dans le cache Redis et comment la deuxième requête était beaucoup plus rapide que la première. Nous avons également vu comment utiliser Redis Commander pour gérer le cache Redis. -Il existe de nombreux autres composants disponibles que vous pouvez utiliser pour intégrer vos services. Vous pouvez trouver la liste des composants disponibles [dans la documentation .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components). +Il existe de nombreux autres composants disponibles que vous pouvez utiliser pour intégrer vos services. Vous pouvez trouver la liste des composants disponibles [dans la documentation Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components). Une prochaine étape naturelle consisterait à intégrer une base de données ou à exploiter Azure Redis Cache en tant que solution hébergée. Les composants pour ceux-ci et bien d’autres sont disponibles sur NuGet. diff --git a/workshop/Lesson-05-Integrations/README.jp.md b/workshop/Lesson-05-Integrations/README.jp.md index 029d9968..3389596e 100644 --- a/workshop/Lesson-05-Integrations/README.jp.md +++ b/workshop/Lesson-05-Integrations/README.jp.md @@ -1,10 +1,10 @@ -# .NET Aspire 統合 +# Aspire 統合 -.NET Aspire コンポーネントは、Redis や PostgreSQL などの主要なサービスやプラットフォームとのクラウドネイティブアプリケーションの統合を容易にするために特別に選ばれた NuGet パッケージのキュレーションされたスイートです。各コンポーネントは、自動プロビジョニングまたは標準化された構成パターンを通じて、クラウドネイティブの基本的な機能を提供します。.NET Aspire コンポーネントはアプホスト (オーケストレータ) プロジェクトなしでも使用できますが、.NET Aspire AppHost と一緒に使用するのが最適です。 +Aspire コンポーネントは、Redis や PostgreSQL などの主要なサービスやプラットフォームとのクラウドネイティブアプリケーションの統合を容易にするために特別に選ばれた NuGet パッケージのキュレーションされたスイートです。各コンポーネントは、自動プロビジョニングまたは標準化された構成パターンを通じて、クラウドネイティブの基本的な機能を提供します。Aspire コンポーネントはアプホスト (オーケストレータ) プロジェクトなしでも使用できますが、Aspire AppHost と一緒に使用するのが最適です。 -.NET Aspire コンポーネントは、.NET Aspire ホスティングパッケージと混同しないでください。これらは異なる目的を持ちます。ホスティングパッケージは、.NET Aspire アプリ内のさまざまなリソースをモデリングおよび構成するために使用され、コンポーネントはさまざまなクライアントライブラリに構成をマッピングするために使用されます。 +Aspire コンポーネントは、Aspire ホスティングパッケージと混同しないでください。これらは異なる目的を持ちます。ホスティングパッケージは、Aspire アプリ内のさまざまなリソースをモデリングおよび構成するために使用され、コンポーネントはさまざまなクライアントライブラリに構成をマッピングするために使用されます。 -Microsoft とコミュニティによって作成および提供されている [.NET Aspire コンポーネント](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) のリストはますます増えています。.NET Aspire は柔軟であり、誰でも自分のサービスと統合するための独自のコンポーネントを作成できます。 +Microsoft とコミュニティによって作成および提供されている [Aspire コンポーネント](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) のリストはますます増えています。Aspire は柔軟であり、誰でも自分のサービスと統合するための独自のコンポーネントを作成できます。 アプリケーションを改善するためにコンポーネントを追加しましょう。API のパフォーマンスを向上させるために Redis キャッシュに接続するためのコンポーネントを追加します。 @@ -17,7 +17,7 @@ Microsoft とコミュニティによって作成および提供されている _出力キャッシング_ コンポーネントを App Host に統合します。このコンポーネントは、API のレスポンスを Redis キャッシュに保存するのに役立ちます。 -Redis コンポーネントを App Host に追加するには、`Aspire.Hosting.Redis` NuGet パッケージをインストールする必要があります。このパッケージは、AppHost でサービスを構成するために必要なコンポーネントを提供します。このワークショップでは、Redis はコンテナ イメージを介して提供されており、.NET Aspire App Host を開始すると、自動的に Redis コンテナイメージをダウンロードし、Redis サーバーを開始します。 +Redis コンポーネントを App Host に追加するには、`Aspire.Hosting.Redis` NuGet パッケージをインストールする必要があります。このパッケージは、AppHost でサービスを構成するために必要なコンポーネントを提供します。このワークショップでは、Redis はコンテナ イメージを介して提供されており、Aspire App Host を開始すると、自動的に Redis コンテナイメージをダウンロードし、Redis サーバーを開始します。 NuGet をインストールしたら、それを構成できます。 @@ -98,7 +98,7 @@ NuGet をインストールしたら、それを構成できます。 ## カスタム Redis コンテナー -.NET Aspire コンポーネントは柔軟でカスタマイズ可能です。デフォルトでは、Redis コンポーネントは Docker Hub からの Redis コンテナ イメージを使用しますが、自分の Redis コンテナイメージを使用することもできます。`AddRedis` メソッドの後にイメージ名とタグを指定します。たとえば、[Garnet](https://github.com/microsoft/garnet) のようなカスタム Redis コンテナ イメージを持っている場合、次のようにイメージ名とタグを App Host に提供できます: +Aspire コンポーネントは柔軟でカスタマイズ可能です。デフォルトでは、Redis コンポーネントは Docker Hub からの Redis コンテナ イメージを使用しますが、自分の Redis コンテナイメージを使用することもできます。`AddRedis` メソッドの後にイメージ名とタグを指定します。たとえば、[Garnet](https://github.com/microsoft/garnet) のようなカスタム Redis コンテナ イメージを持っている場合、次のようにイメージ名とタグを App Host に提供できます: ```csharp var cache = builder.AddRedis("cache") @@ -119,6 +119,6 @@ var cache = builder.AddRedis("cache") このセクションでは、App Host に Redis コンポーネントを追加し、API に出力キャッシングを統合しました。レスポンスが Redis キャッシュにキャッシュされ、2 回目のリクエストが 1 回目よりも速くなったことを確認しました。また、Redis Commander を使用して Redis キャッシュを管理する方法も確認しました。 -統合できるコンポーネントは他にもたくさんあります。[.NET Aspire documentation](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) で利用可能なコンポーネントのリストを見つけることができます。 +統合できるコンポーネントは他にもたくさんあります。[Aspire documentation](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) で利用可能なコンポーネントのリストを見つけることができます。 次のステップとしては、データベースの統合や Azure Redis Cache をホストされたソリューションとして利用することが考えられます。これらおよびその他のコンポーネントは NuGet で利用可能です。 diff --git a/workshop/Lesson-05-Integrations/README.ko.md b/workshop/Lesson-05-Integrations/README.ko.md index 7907161f..d7a74732 100644 --- a/workshop/Lesson-05-Integrations/README.ko.md +++ b/workshop/Lesson-05-Integrations/README.ko.md @@ -1,12 +1,12 @@ > 이 문서는 [Azure OpenAI](https://learn.microsoft.com/azure/ai-services/openai/overview)를 이용해 초벌 번역 후 검수를 진행했습니다. 따라서 번역 품질이 기대와 다를 수 있습니다. 문서 번역에 대해 제안할 내용이 있을 경우, [이슈](../../../issue)에 남겨주시면 확인후 반영하겠습니다. -# .NET Aspire 통합 +# Aspire 통합 -.NET Aspire 컴포넌트는 Redis 및 PostgreSQL을 포함하여 주요 서비스 및 플랫폼과 클라우드 네이티브 애플리케이션의 통합을 용이하게 하기 위해 특별히 큐레이션한 NuGet 패키지 모음입니다. 각 컴포넌트는 자동 프로비저닝 또는 표준화된 구성 패턴을 통해 필수적인 클라우드 네이티브 기능을 제공합니다. .NET Aspire 컴포넌트는 AppHost(오케스트레이터) 프로젝트 없이도 사용할 수 있지만, .NET Aspire AppHost와 함께 사용할 때 가장 잘 작동하도록 만들어졌습니다. +Aspire 컴포넌트는 Redis 및 PostgreSQL을 포함하여 주요 서비스 및 플랫폼과 클라우드 네이티브 애플리케이션의 통합을 용이하게 하기 위해 특별히 큐레이션한 NuGet 패키지 모음입니다. 각 컴포넌트는 자동 프로비저닝 또는 표준화된 구성 패턴을 통해 필수적인 클라우드 네이티브 기능을 제공합니다. Aspire 컴포넌트는 AppHost(오케스트레이터) 프로젝트 없이도 사용할 수 있지만, Aspire AppHost와 함께 사용할 때 가장 잘 작동하도록 만들어졌습니다. -.NET Aspire 컴포넌트는 .NET Aspire 호스팅 패키지와 혼동하지 않아야 합니다. 이들은 다른 목적을 가지고 있습니다. 호스팅 패키지는 .NET Aspire 앱에서 다양한 리소스를 모델링하고 구성하는 데 사용하는 반면, 컴포넌트는 다양한 클라이언트 라이브러리에 대한 구성을 매핑하는 데 사용합니다. +Aspire 컴포넌트는 Aspire 호스팅 패키지와 혼동하지 않아야 합니다. 이들은 다른 목적을 가지고 있습니다. 호스팅 패키지는 Aspire 앱에서 다양한 리소스를 모델링하고 구성하는 데 사용하는 반면, 컴포넌트는 다양한 클라이언트 라이브러리에 대한 구성을 매핑하는 데 사용합니다. -Microsoft 및 개발자 커뮤니티에서 만든 [.NET Aspire 컴포넌트](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) 목록은 계속 증가하고 있습니다. .NET Aspire는 유연하며 누구나 자신의 서비스를 통합하기 위해 자체 컴포넌트를 만들 수 있습니다. +Microsoft 및 개발자 커뮤니티에서 만든 [Aspire 컴포넌트](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) 목록은 계속 증가하고 있습니다. Aspire는 유연하며 누구나 자신의 서비스를 통합하기 위해 자체 컴포넌트를 만들 수 있습니다. 애플리케이션의 성능을 개선하기 위해 컴포넌트를 추가해 보겠습니다. 우리는 API 성능을 개선하기 위해 Redis 캐시에 연결하는 컴포넌트를 추가할 것입니다. @@ -19,7 +19,7 @@ Microsoft 및 개발자 커뮤니티에서 만든 [.NET Aspire 컴포넌트](htt 우리는 _아웃풋 캐싱_ 컴포넌트를 AppHost에 통합할 것입니다. 이 컴포넌트는 Redis 캐시에 API 응답을 캐시하는 데 도움을 줄 것입니다. -AppHost에 Redis 컴포넌트를 추가하려면 `Aspire.Hosting.Redis` NuGet 패키지를 설치해야 합니다. 이 패키지는 AppHost에서 서비스를 구성하는 데 필요한 컴포넌트를 제공합니다. Redis는 이 워크숍에서 컨테이너 이미지로 제공하며, .NET Aspire AppHost 프로젝트를 시작하면 자동으로 Redis 컨테이너 이미지를 다운로드하고 Redis 서버를 시작합니다. +AppHost에 Redis 컴포넌트를 추가하려면 `Aspire.Hosting.Redis` NuGet 패키지를 설치해야 합니다. 이 패키지는 AppHost에서 서비스를 구성하는 데 필요한 컴포넌트를 제공합니다. Redis는 이 워크숍에서 컨테이너 이미지로 제공하며, Aspire AppHost 프로젝트를 시작하면 자동으로 Redis 컨테이너 이미지를 다운로드하고 Redis 서버를 시작합니다. NuGet을 설치하면 이를 구성할 수 있습니다. @@ -101,7 +101,7 @@ NuGet을 설치하면 이를 구성할 수 있습니다. ## 사용자 정의 Redis 컨테이너 -.NET Aspire 컴포넌트는 유연하고 커스터마이징이 가능합니다. 기본적으로 Redis 컴포넌트는 Docker Hub의 Redis 컨테이너 이미지를 사용합니다. 그러나 `AddRedis` 메서드 후에 이미지 이름과 태그를 제공하여 사용자 정의 Redis 컨테이너 이미지를 사용할 수 있습니다. 예를 들어, [Garnet](https://github.com/microsoft/garnet)과 같은 사용자 정의 Redis 컨테이너 이미지가 있는 경우, App Host에서 다음과 같이 이미지 이름과 태그를 제공할 수 있습니다: +Aspire 컴포넌트는 유연하고 커스터마이징이 가능합니다. 기본적으로 Redis 컴포넌트는 Docker Hub의 Redis 컨테이너 이미지를 사용합니다. 그러나 `AddRedis` 메서드 후에 이미지 이름과 태그를 제공하여 사용자 정의 Redis 컨테이너 이미지를 사용할 수 있습니다. 예를 들어, [Garnet](https://github.com/microsoft/garnet)과 같은 사용자 정의 Redis 컨테이너 이미지가 있는 경우, App Host에서 다음과 같이 이미지 이름과 태그를 제공할 수 있습니다: ```csharp var cache = builder.AddRedis("cache") @@ -121,6 +121,6 @@ var cache = builder.AddRedis("cache") 이 섹션에서는 AppHost 프로젝트에 Redis 컴포넌트를 추가하고 API에 출력 캐싱을 통합했습니다. 우리는 응답이 Redis 캐시에 캐시되고 두 번째 요청이 첫 번째 요청보다 훨씬 빠른 것을 확인했습니다. 또한, Redis Commander를 사용하여 Redis 캐시를 관리하는 방법도 보았습니다. -지금 당장 사용할 수 있는 많은 다른 컴포넌트가 있으며 이를 사용하여 서비스와 통합할 수 있습니다. 사용할 수 있는 컴포넌트 목록은 [.NET Aspire 문서](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components)에서 찾을 수 있습니다. +지금 당장 사용할 수 있는 많은 다른 컴포넌트가 있으며 이를 사용하여 서비스와 통합할 수 있습니다. 사용할 수 있는 컴포넌트 목록은 [Aspire 문서](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components)에서 찾을 수 있습니다. 다음 단계로는 데이터베이스를 통합하거나 Azure Redis Cache를 호스팅 솔루션으로 사용하는 것을 자연스럽게 고려할 수 있습니다. 이러한 컴포넌트는 NuGet에서 사용할 수 있습니다. diff --git a/workshop/Lesson-05-Integrations/README.pt-br.md b/workshop/Lesson-05-Integrations/README.pt-br.md index 4048a431..895ddb22 100644 --- a/workshop/Lesson-05-Integrations/README.pt-br.md +++ b/workshop/Lesson-05-Integrations/README.pt-br.md @@ -1,10 +1,10 @@ -# Integrações .NET Aspire +# Integrações Aspire -Os componentes .NET Aspire são um conjunto selecionado de pacotes NuGet especificamente escolhidos para facilitar a integração de aplicações nativas da nuvem com serviços e plataformas proeminentes, incluindo, mas não se limitando a, Redis e PostgreSQL. Cada componente fornece funcionalidades essenciais nativas da nuvem por meio de provisionamento automático ou padrões de configuração padronizados. Os componentes .NET Aspire podem ser usados sem um projeto de host de aplicativo (orquestrador), mas são projetados para funcionar melhor com o host de aplicativos .NET Aspire. +Os componentes Aspire são um conjunto selecionado de pacotes NuGet especificamente escolhidos para facilitar a integração de aplicações nativas da nuvem com serviços e plataformas proeminentes, incluindo, mas não se limitando a, Redis e PostgreSQL. Cada componente fornece funcionalidades essenciais nativas da nuvem por meio de provisionamento automático ou padrões de configuração padronizados. Os componentes Aspire podem ser usados sem um projeto de host de aplicativo (orquestrador), mas são projetados para funcionar melhor com o host de aplicativos Aspire. -Os componentes .NET Aspire não devem ser confundidos com os pacotes de hospedagem .NET Aspire, pois servem a propósitos diferentes. Os pacotes de hospedagem são usados para modelar e configurar vários recursos em um aplicativo .NET Aspire, enquanto os componentes são usados para mapear a configuração para várias bibliotecas de clientes. +Os componentes Aspire não devem ser confundidos com os pacotes de hospedagem Aspire, pois servem a propósitos diferentes. Os pacotes de hospedagem são usados para modelar e configurar vários recursos em um aplicativo Aspire, enquanto os componentes são usados para mapear a configuração para várias bibliotecas de clientes. -Existe uma lista sempre crescente de [Componentes .NET Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) criados e distribuídos pela Microsoft e pela comunidade. .NET Aspire é flexível e qualquer um pode criar seu próprio componente para integrar com seus próprios serviços. +Existe uma lista sempre crescente de [Componentes Aspire](https://learn.microsoft.com/dotnet/aspire/fundamentals/components-overview?tabs=dotnet-cli#available-components) criados e distribuídos pela Microsoft e pela comunidade. Aspire é flexível e qualquer um pode criar seu próprio componente para integrar com seus próprios serviços. Vamos melhorar nossa aplicação adicionando um componente a ela. Vamos adicionar um componente que nos ajudará a conectar a um cache Redis para melhorar o desempenho da nossa API. @@ -17,7 +17,7 @@ Existem dois tipos de cache que poderíamos integrar à nossa aplicação, inclu Vamos integrar o componente _Output caching_ ao nosso host de aplicativo. Este componente nos ajudará a armazenar em cache a resposta da nossa API no cache Redis. -Para adicionar o componente Redis ao nosso host de aplicativo, precisamos instalar o pacote NuGet `Aspire.Hosting.Redis`. Este pacote fornece os componentes necessários para configurar o serviço no Host de Aplicativo. O Redis é fornecido por meio de uma imagem de contêiner neste workshop, e quando iniciamos o Host de Aplicativo .NET Aspire, ele automaticamente baixa a imagem do contêiner Redis e inicia o servidor Redis. +Para adicionar o componente Redis ao nosso host de aplicativo, precisamos instalar o pacote NuGet `Aspire.Hosting.Redis`. Este pacote fornece os componentes necessários para configurar o serviço no Host de Aplicativo. O Redis é fornecido por meio de uma imagem de contêiner neste workshop, e quando iniciamos o Host de Aplicativo Aspire, ele automaticamente baixa a imagem do contêiner Redis e inicia o servidor Redis. Com o NuGet instalado, podemos configurá-lo. @@ -100,7 +100,7 @@ Não fizemos nenhuma alteração nos projetos `Api` ou `MyWeatherHub`, mas podem ## Contêineres Redis Personalizados -Os componentes .NET Aspire são flexíveis e personalizáveis. Por padrão, o componente Redis usa uma imagem de contêiner Redis do Docker Hub. No entanto, você pode usar sua própria imagem de contêiner Redis fornecendo o nome da imagem e a tag após o método `AddRedis`. Por exemplo, se você tem uma imagem de contêiner Redis personalizada, como [Garnet](https://github.com/microsoft/garnet), você pode fornecer o nome da imagem e a tag no Host de Aplicativo da seguinte forma: +Os componentes Aspire são flexíveis e personalizáveis. Por padrão, o componente Redis usa uma imagem de contêiner Redis do Docker Hub. No entanto, você pode usar sua própria imagem de contêiner Redis fornecendo o nome da imagem e a tag após o método `AddRedis`. Por exemplo, se você tem uma imagem de contêiner Redis personalizada, como [Garnet](https://github.com/microsoft/garnet), você pode fornecer o nome da imagem e a tag no Host de Aplicativo da seguinte forma: ```csharp var cache = builder.AddRedis("cache") @@ -121,6 +121,6 @@ var cache = builder.AddRedis("cache") Nesta seção, adicionamos um componente Redis ao Host de Aplicativo e integramos o cache de saída na API. Vimos como a resposta foi armazenada em cache no cache Redis e como a segunda solicitação foi muito mais rápida que a primeira. Também vimos como usar o Redis Commander para gerenciar o cache Redis. -Existem muitos mais componentes disponíveis que você pode usar para integrar com seus serviços. Você pode encontrar a lista de componentes disponíveis na documentação do .NET Aspire. +Existem muitos mais componentes disponíveis que você pode usar para integrar com seus serviços. Você pode encontrar a lista de componentes disponíveis na documentação do Aspire. Um próximo passo natural seria integrar um banco de dados ou aproveitar o Azure Redis Cache como uma solução hospedada. Componentes para estes e mais estão disponíveis no NuGet. diff --git a/workshop/Lesson-05-Integrations/README.zh-cn.md b/workshop/Lesson-05-Integrations/README.zh-cn.md index b9ee1422..7fed0d85 100644 --- a/workshop/Lesson-05-Integrations/README.zh-cn.md +++ b/workshop/Lesson-05-Integrations/README.zh-cn.md @@ -1,16 +1,16 @@ -# .NET Aspire 集成 +# Aspire 集成 -.NET Aspire 集成是一套精心挑选的 NuGet 包,专门用于促进云原生应用程序与主要服务和平台(如 Redis、PostgreSQL 等)的集成。每个集成都通过自动配置或标准化配置模式提供基本的云原生功能。 +Aspire 集成是一套精心挑选的 NuGet 包,专门用于促进云原生应用程序与主要服务和平台(如 Redis、PostgreSQL 等)的集成。每个集成都通过自动配置或标准化配置模式提供基本的云原生功能。 -.NET Aspire 集成有两种不同的风格:**托管集成**和 **客户端集成**。托管集成用于对 .NET Aspire 应用程序中的各种资源进行建模和配置,而客户端集成用于将配置映射到各种客户端库。 +Aspire 集成有两种不同的风格:**托管集成**和 **客户端集成**。托管集成用于对 Aspire 应用程序中的各种资源进行建模和配置,而客户端集成用于将配置映射到各种客户端库。 -由 Microsoft 和社区创建和发布的列表不断增长,参见 [.NET Aspire integrations](https://learn.microsoft.com/dotnet/aspire/fundamentals/integrations-overview?tabs=dotnet-cli#available-integrations)。.NET Aspire 非常灵活,任何人都可以创建自己的包以与他们自己的服务集成。 +由 Microsoft 和社区创建和发布的列表不断增长,参见 [Aspire integrations](https://learn.microsoft.com/dotnet/aspire/fundamentals/integrations-overview?tabs=dotnet-cli#available-integrations)。Aspire 非常灵活,任何人都可以创建自己的包以与他们自己的服务集成。 让我们通过向应用程序添加集成来改进我们的应用程序。我们将添加一个集成,这将帮助我们连接到 Redis 缓存以提高我们的 API 性能。 ## 添加 Redis Integration 到 App Host -要将 Redis 托管集成添加到我们的 App Host,我们需要安装 `Aspire.Hosting.Redis` NuGet 包。此包提供了在 App Host 中配置服务所需的部分。在我们的研讨会中,Redis 通过容器映像提供,当我们启动 .NET Aspire 的 App Host 时,它将自动下载 Redis 容器映像并启动 Redis 服务器。 +要将 Redis 托管集成添加到我们的 App Host,我们需要安装 `Aspire.Hosting.Redis` NuGet 包。此包提供了在 App Host 中配置服务所需的部分。在我们的研讨会中,Redis 通过容器映像提供,当我们启动 Aspire 的 App Host 时,它将自动下载 Redis 容器映像并启动 Redis 服务器。 安装 NuGet 包后,我们可以将 Redis 添加到我们的 App Host: @@ -98,7 +98,7 @@ ## 订制 Redis 容器 -.NET Aspire 集成非常灵活且可订制。默认情况下,Redis 集成使用来自 Docker Hub 的 Redis 容器镜像。但是,您可以通过在 `AddRedis()` 方法后提供映像名称和标签来使用自己的 Redis 容器映像。例如,如果您有一个自定义的 Redis 容器镜像,例如 [Garnet](https://github.com/microsoft/garnet),您可以在 App Host 中提供镜像注册表、名称和标签,如下所示: +Aspire 集成非常灵活且可订制。默认情况下,Redis 集成使用来自 Docker Hub 的 Redis 容器镜像。但是,您可以通过在 `AddRedis()` 方法后提供映像名称和标签来使用自己的 Redis 容器映像。例如,如果您有一个自定义的 Redis 容器镜像,例如 [Garnet](https://github.com/microsoft/garnet),您可以在 App Host 中提供镜像注册表、名称和标签,如下所示: ```csharp var cache = builder.AddRedis("cache") @@ -121,7 +121,7 @@ var cache = builder.AddRedis("cache") 在本节中,我们在 API 中添加了对于 Redis 的托管集成到 App Host 中,以及在客户端集成了 Redis 的 Output caching 支持。我们了解了响应是如何缓存在 Redis 缓存中的,以及第二个和后续请求如何比第一个请求要快得多。我们还了解了如何使用 Redis Commander 来管理 Redis 缓存。 -还有更多 Aspire 集成可用于与您的服务集成。您可以找到可用集成的列表,[它们位于 .NET Aspire 文档](https://learn.microsoft.com/dotnet/aspire/fundamentals/integrations-overview?tabs=dotnet-cli#available-integrations). +还有更多 Aspire 集成可用于与您的服务集成。您可以找到可用集成的列表,[它们位于 Aspire 文档](https://learn.microsoft.com/dotnet/aspire/fundamentals/integrations-overview?tabs=dotnet-cli#available-integrations). 下一步自然是集成数据库或将 Azure Redis 缓存用作托管解决方案。这些以及更多的集成 [在 NuGet 中可用](https://www.nuget.org/packages?q=owner%3Aaspire+tags%3Aintegration). diff --git a/workshop/Lesson-05-Integrations/code/Api/Api.csproj b/workshop/Lesson-05-Integrations/code/Api/Api.csproj index 54b0e66d..31ee83ff 100644 --- a/workshop/Lesson-05-Integrations/code/Api/Api.csproj +++ b/workshop/Lesson-05-Integrations/code/Api/Api.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-05-Integrations/code/Api/Data/NwsManager.cs b/workshop/Lesson-05-Integrations/code/Api/Data/NwsManager.cs index a79ff120..49bddad9 100644 --- a/workshop/Lesson-05-Integrations/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-05-Integrations/code/Api/Data/NwsManager.cs @@ -66,7 +66,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-05-Integrations/code/AppHost/AppHost.csproj b/workshop/Lesson-05-Integrations/code/AppHost/AppHost.csproj index eb7019b8..c18bbe28 100644 --- a/workshop/Lesson-05-Integrations/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-05-Integrations/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -9,7 +9,7 @@ - + diff --git a/workshop/Lesson-05-Integrations/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-05-Integrations/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-05-Integrations/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-05-Integrations/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-06-Telemetry/code/Api/Api.csproj b/workshop/Lesson-06-Telemetry/code/Api/Api.csproj index 54b0e66d..31ee83ff 100644 --- a/workshop/Lesson-06-Telemetry/code/Api/Api.csproj +++ b/workshop/Lesson-06-Telemetry/code/Api/Api.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-06-Telemetry/code/Api/Data/NwsManager.cs b/workshop/Lesson-06-Telemetry/code/Api/Data/NwsManager.cs index 96709119..90444178 100644 --- a/workshop/Lesson-06-Telemetry/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-06-Telemetry/code/Api/Data/NwsManager.cs @@ -139,7 +139,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-06-Telemetry/code/AppHost/AppHost.csproj b/workshop/Lesson-06-Telemetry/code/AppHost/AppHost.csproj index eb7019b8..c18bbe28 100644 --- a/workshop/Lesson-06-Telemetry/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-06-Telemetry/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -9,7 +9,7 @@ - + diff --git a/workshop/Lesson-06-Telemetry/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-06-Telemetry/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-06-Telemetry/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-06-Telemetry/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-07-Database/README.es.md b/workshop/Lesson-07-Database/README.es.md index 3709aa2a..c861110d 100644 --- a/workshop/Lesson-07-Database/README.es.md +++ b/workshop/Lesson-07-Database/README.es.md @@ -6,7 +6,7 @@ En este módulo, integraremos una base de datos PostgreSQL con nuestra aplicaci ## Configuración de PostgreSQL -.NET Aspire proporciona soporte integrado para PostgreSQL a través del paquete `Aspire.Hosting.PostgreSQL`. Para configurar PostgreSQL: +Aspire proporciona soporte integrado para PostgreSQL a través del paquete `Aspire.Hosting.PostgreSQL`. Para configurar PostgreSQL: 1. Instale el paquete NuGet requerido en su proyecto AppHost: diff --git a/workshop/Lesson-07-Database/README.fr.md b/workshop/Lesson-07-Database/README.fr.md index 8081f2a4..6c5321e3 100644 --- a/workshop/Lesson-07-Database/README.fr.md +++ b/workshop/Lesson-07-Database/README.fr.md @@ -6,7 +6,7 @@ Dans ce module, nous allons intégrer une base de données PostgreSQL avec notre ## Configuration de PostgreSQL -.NET Aspire fournit un support intégré pour PostgreSQL via le package `Aspire.Hosting.PostgreSQL`. Pour configurer PostgreSQL : +Aspire fournit un support intégré pour PostgreSQL via le package `Aspire.Hosting.PostgreSQL`. Pour configurer PostgreSQL : 1. Installez le package NuGet requis dans votre projet AppHost : diff --git a/workshop/Lesson-07-Database/README.jp.md b/workshop/Lesson-07-Database/README.jp.md index 55d50492..372a7a46 100644 --- a/workshop/Lesson-07-Database/README.jp.md +++ b/workshop/Lesson-07-Database/README.jp.md @@ -6,7 +6,7 @@ ## PostgreSQLの設定 -.NET Aspireは、`Aspire.Hosting.PostgreSQL`パッケージを通じてPostgreSQLの組み込みサポートを提供します。PostgreSQLを設定するには: +Aspireは、`Aspire.Hosting.PostgreSQL`パッケージを通じてPostgreSQLの組み込みサポートを提供します。PostgreSQLを設定するには: 1. AppHostプロジェクトに必要なNuGetパッケージをインストールします: @@ -66,7 +66,7 @@ var weatherDb = postgres.AddDatabase("weatherdb"); > **注意**: 永続コンテナは主に開発シナリオで有用です。本番環境のデプロイでは、通常、永続性を自動的に処理するマネージドデータベースサービスを使用します。 > -> **高度なコンテナ機能**: .NET Aspireは、より良い起動調整のための`WithExplicitStart()`や、初期化スクリプトをマウントするための`WithContainerFiles()`など、高度なコンテナ設定もサポートします。これらの機能は、複雑な開発シナリオで必要な場合に、コンテナの動作を細かく制御します。これらの高度な機能について詳しくは、公式ドキュメントの[ボリュームを使用したデータの永続化](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes)と[コンテナリソースのライフサイクル](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)を参照してください。 +> **高度なコンテナ機能**: Aspireは、より良い起動調整のための`WithExplicitStart()`や、初期化スクリプトをマウントするための`WithContainerFiles()`など、高度なコンテナ設定もサポートします。これらの機能は、複雑な開発シナリオで必要な場合に、コンテナの動作を細かく制御します。これらの高度な機能について詳しくは、公式ドキュメントの[ボリュームを使用したデータの永続化](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes)と[コンテナリソースのライフサイクル](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)を参照してください。 ## EF CoreとPostgreSQLの統合 @@ -102,7 +102,7 @@ public class MyWeatherContext : DbContext builder.AddNpgsqlDbContext(connectionName: "weatherdb"); ``` -.NET Aspireが接続文字列の設定を自動的に処理することに注意してください。接続名「weatherdb」は、AppHostプロジェクトで作成したデータベース名と一致します。 +Aspireが接続文字列の設定を自動的に処理することに注意してください。接続名「weatherdb」は、AppHostプロジェクトで作成したデータベース名と一致します。 1. データベース初期化を設定します: @@ -265,15 +265,15 @@ IQueryable zones ## その他のデータオプション -PostgreSQLに加えて、.NET Aspireは他のいくつかのデータベースシステムに対してファーストクラスのサポートを提供します: +PostgreSQLに加えて、Aspireは他のいくつかのデータベースシステムに対してファーストクラスのサポートを提供します: ### [Azure SQL/SQL Server](https://learn.microsoft.com/en-us/dotnet/aspire/database/sql-server-entity-framework-integration) -.NET AspireのSQL Server統合には、開発用の自動コンテナプロビジョニング、接続文字列管理、ヘルスチェックが含まれます。ローカルSQL Serverコンテナと本番環境のAzure SQL Databaseの両方をサポートします。統合は接続の回復力を自動的に処理し、データベース操作を監視するためのテレメトリを含みます。 +AspireのSQL Server統合には、開発用の自動コンテナプロビジョニング、接続文字列管理、ヘルスチェックが含まれます。ローカルSQL Serverコンテナと本番環境のAzure SQL Databaseの両方をサポートします。統合は接続の回復力を自動的に処理し、データベース操作を監視するためのテレメトリを含みます。 ### [MySQL](https://learn.microsoft.com/en-us/dotnet/aspire/database/mysql-entity-framework-integration) -.NET AspireのMySQL統合は、コンテナ化された開発環境と本番準備構成を含む、PostgreSQLと同様の機能を提供します。組み込みの接続再試行とヘルス監視が含まれており、開発と本番の両方のシナリオに適しています。 +AspireのMySQL統合は、コンテナ化された開発環境と本番準備構成を含む、PostgreSQLと同様の機能を提供します。組み込みの接続再試行とヘルス監視が含まれており、開発と本番の両方のシナリオに適しています。 ### [MongoDB](https://learn.microsoft.com/en-us/dotnet/aspire/database/mongodb-integration) @@ -285,7 +285,7 @@ SQLiteはコンテナ化を必要としませんが、Aspireは一貫した設 ## コミュニティツールキットデータベース機能 -.NET Aspire Community Toolkitは、追加のツールでデータベース機能を拡張します: +Aspire Community Toolkitは、追加のツールでデータベース機能を拡張します: ### [SQL Database Projects](https://learn.microsoft.com/en-us/dotnet/aspire/community-toolkit/hosting-sql-database-projects) @@ -303,10 +303,10 @@ Data API Builder(DAB)は、データベーススキーマからRESTとGraphQ ## まとめ -このモジュールでは、.NET Aspireのデータベース統合機能を使用して、アプリケーションにPostgreSQLデータベースサポートを追加しました。データアクセスにはEntity Framework Coreを使用し、ローカル開発とクラウドホストされたデータベースの両方で動作するようにアプリケーションを設定しました。 +このモジュールでは、Aspireのデータベース統合機能を使用して、アプリケーションにPostgreSQLデータベースサポートを追加しました。データアクセスにはEntity Framework Coreを使用し、ローカル開発とクラウドホストされたデータベースの両方で動作するようにアプリケーションを設定しました。 次の自然なステップは、データベース統合が正しく動作することを確認するテストを追加することです。 -[モジュール #8: 統合テスト](../Lesson-08-Integration-Testing/README.md)に進んで、.NET Aspireアプリケーションの統合テストの書き方を学びましょう。 +[モジュール #8: 統合テスト](../Lesson-08-Integration-Testing/README.md)に進んで、Aspireアプリケーションの統合テストの書き方を学びましょう。 **次へ**: [モジュール #8: 統合テスト](../Lesson-08-Integration-Testing/README.md) diff --git a/workshop/Lesson-07-Database/README.ko.md b/workshop/Lesson-07-Database/README.ko.md index f0824ae5..837e3621 100644 --- a/workshop/Lesson-07-Database/README.ko.md +++ b/workshop/Lesson-07-Database/README.ko.md @@ -6,7 +6,7 @@ ## PostgreSQL 설정 -.NET Aspire는 `Aspire.Hosting.PostgreSQL` 패키지를 통해 PostgreSQL에 대한 기본 지원을 제공합니다. PostgreSQL을 설정하려면: +Aspire는 `Aspire.Hosting.PostgreSQL` 패키지를 통해 PostgreSQL에 대한 기본 지원을 제공합니다. PostgreSQL을 설정하려면: 1. AppHost 프로젝트에 필요한 NuGet 패키지를 설치합니다: @@ -66,7 +66,7 @@ var weatherDb = postgres.AddDatabase("weatherdb"); > **참고**: 지속적 컨테이너는 주로 개발 시나리오에 유용합니다. 프로덕션 배포에서는 일반적으로 지속성을 자동으로 처리하는 관리형 데이터베이스 서비스를 사용합니다. > -> **고급 컨테이너 기능**: .NET Aspire는 더 나은 시작 조정을 위한 `WithExplicitStart()`와 초기화 스크립트 마운트를 위한 `WithContainerFiles()`와 같은 고급 컨테이너 구성도 지원합니다. 이러한 기능은 복잡한 개발 시나리오에 필요할 때 컨테이너 동작에 대한 세밀한 제어를 제공합니다. 이러한 고급 기능에 대해 자세히 알아보려면 공식 문서의 [볼륨을 사용한 데이터 지속성](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes) 및 [컨테이너 리소스 수명 주기](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)를 참조하세요. +> **고급 컨테이너 기능**: Aspire는 더 나은 시작 조정을 위한 `WithExplicitStart()`와 초기화 스크립트 마운트를 위한 `WithContainerFiles()`와 같은 고급 컨테이너 구성도 지원합니다. 이러한 기능은 복잡한 개발 시나리오에 필요할 때 컨테이너 동작에 대한 세밀한 제어를 제공합니다. 이러한 고급 기능에 대해 자세히 알아보려면 공식 문서의 [볼륨을 사용한 데이터 지속성](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes) 및 [컨테이너 리소스 수명 주기](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)를 참조하세요. ## EF Core와 PostgreSQL 통합 @@ -102,7 +102,7 @@ public class MyWeatherContext : DbContext builder.AddNpgsqlDbContext(connectionName: "weatherdb"); ``` -.NET Aspire가 연결 문자열 구성을 자동으로 처리한다는 점에 주목하세요. 연결 이름 "weatherdb"는 AppHost 프로젝트에서 생성한 데이터베이스 이름과 일치합니다. +Aspire가 연결 문자열 구성을 자동으로 처리한다는 점에 주목하세요. 연결 이름 "weatherdb"는 AppHost 프로젝트에서 생성한 데이터베이스 이름과 일치합니다. 1. 데이터베이스 초기화를 설정합니다: @@ -265,15 +265,15 @@ IQueryable zones ## 기타 데이터 옵션 -PostgreSQL 외에도 .NET Aspire는 여러 다른 데이터베이스 시스템에 대한 최고 수준의 지원을 제공합니다: +PostgreSQL 외에도 Aspire는 여러 다른 데이터베이스 시스템에 대한 최고 수준의 지원을 제공합니다: ### [Azure SQL/SQL Server](https://learn.microsoft.com/en-us/dotnet/aspire/database/sql-server-entity-framework-integration) -.NET Aspire의 SQL Server 통합에는 개발을 위한 자동 컨테이너 프로비저닝, 연결 문자열 관리 및 상태 확인이 포함됩니다. 로컬 SQL Server 컨테이너와 프로덕션의 Azure SQL Database를 모두 지원합니다. 통합은 연결 복원력을 자동으로 처리하고 데이터베이스 작업 모니터링을 위한 원격 측정을 포함합니다. +Aspire의 SQL Server 통합에는 개발을 위한 자동 컨테이너 프로비저닝, 연결 문자열 관리 및 상태 확인이 포함됩니다. 로컬 SQL Server 컨테이너와 프로덕션의 Azure SQL Database를 모두 지원합니다. 통합은 연결 복원력을 자동으로 처리하고 데이터베이스 작업 모니터링을 위한 원격 측정을 포함합니다. ### [MySQL](https://learn.microsoft.com/en-us/dotnet/aspire/database/mysql-entity-framework-integration) -.NET Aspire의 MySQL 통합은 컨테이너화된 개발 환경과 프로덕션 준비 구성을 포함하여 PostgreSQL과 유사한 기능을 제공합니다. 기본 제공 연결 재시도 및 상태 모니터링을 포함하여 개발 및 프로덕션 시나리오 모두에 적합합니다. +Aspire의 MySQL 통합은 컨테이너화된 개발 환경과 프로덕션 준비 구성을 포함하여 PostgreSQL과 유사한 기능을 제공합니다. 기본 제공 연결 재시도 및 상태 모니터링을 포함하여 개발 및 프로덕션 시나리오 모두에 적합합니다. ### [MongoDB](https://learn.microsoft.com/en-us/dotnet/aspire/database/mongodb-integration) @@ -285,7 +285,7 @@ SQLite는 컨테이너화가 필요하지 않지만 Aspire는 일관된 구성 ## 커뮤니티 툴킷 데이터베이스 기능 -.NET Aspire Community Toolkit은 추가 도구로 데이터베이스 기능을 확장합니다: +Aspire Community Toolkit은 추가 도구로 데이터베이스 기능을 확장합니다: ### [SQL Database Projects](https://learn.microsoft.com/en-us/dotnet/aspire/community-toolkit/hosting-sql-database-projects) @@ -303,10 +303,10 @@ Data API Builder(DAB)는 데이터베이스 스키마에서 REST 및 GraphQL 엔 ## 결론 -이 모듈에서는 .NET Aspire의 데이터베이스 통합 기능을 사용하여 애플리케이션에 PostgreSQL 데이터베이스 지원을 추가했습니다. 데이터 액세스에는 Entity Framework Core를 사용했고 로컬 개발 및 클라우드 호스팅 데이터베이스 모두에서 작동하도록 애플리케이션을 구성했습니다. +이 모듈에서는 Aspire의 데이터베이스 통합 기능을 사용하여 애플리케이션에 PostgreSQL 데이터베이스 지원을 추가했습니다. 데이터 액세스에는 Entity Framework Core를 사용했고 로컬 개발 및 클라우드 호스팅 데이터베이스 모두에서 작동하도록 애플리케이션을 구성했습니다. 다음 자연스러운 단계는 데이터베이스 통합이 올바르게 작동하는지 확인하는 테스트를 추가하는 것입니다. -[모듈 #8: 통합 테스트](../Lesson-08-Integration-Testing/README.md)로 이동하여 .NET Aspire 애플리케이션의 통합 테스트 작성 방법을 알아보세요. +[모듈 #8: 통합 테스트](../Lesson-08-Integration-Testing/README.md)로 이동하여 Aspire 애플리케이션의 통합 테스트 작성 방법을 알아보세요. **다음**: [모듈 #8: 통합 테스트](../Lesson-08-Integration-Testing/README.md) diff --git a/workshop/Lesson-07-Database/README.pt-br.md b/workshop/Lesson-07-Database/README.pt-br.md index 0302a860..5d962676 100644 --- a/workshop/Lesson-07-Database/README.pt-br.md +++ b/workshop/Lesson-07-Database/README.pt-br.md @@ -6,7 +6,7 @@ Neste módulo, integraremos um banco de dados PostgreSQL com nossa aplicação. ## Configurando PostgreSQL -O .NET Aspire fornece suporte integrado para PostgreSQL através do pacote `Aspire.Hosting.PostgreSQL`. Para configurar o PostgreSQL: +O Aspire fornece suporte integrado para PostgreSQL através do pacote `Aspire.Hosting.PostgreSQL`. Para configurar o PostgreSQL: 1. Instale o pacote NuGet necessário no seu projeto AppHost: @@ -66,7 +66,7 @@ Com `ContainerLifetime.Persistent`, o contêiner PostgreSQL continuará executan > **Nota**: Contêineres persistentes são principalmente úteis para cenários de desenvolvimento. Em implantações de produção, você normalmente usará serviços de banco de dados gerenciados que tratam da persistência automaticamente. > -> **Recursos Avançados de Contêiner**: O .NET Aspire também suporta configuração avançada de contêiner como `WithExplicitStart()` para melhor coordenação de inicialização, e `WithContainerFiles()` para montar scripts de inicialização. Esses recursos fornecem controle fino sobre o comportamento do contêiner quando necessário para cenários de desenvolvimento complexos. Para saber mais sobre esses recursos avançados, veja [Persistir dados usando volumes](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes) e [Ciclo de vida do recurso de contêiner](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle) na documentação oficial. +> **Recursos Avançados de Contêiner**: O Aspire também suporta configuração avançada de contêiner como `WithExplicitStart()` para melhor coordenação de inicialização, e `WithContainerFiles()` para montar scripts de inicialização. Esses recursos fornecem controle fino sobre o comportamento do contêiner quando necessário para cenários de desenvolvimento complexos. Para saber mais sobre esses recursos avançados, veja [Persistir dados usando volumes](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes) e [Ciclo de vida do recurso de contêiner](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle) na documentação oficial. ## Integrando EF Core com PostgreSQL @@ -102,7 +102,7 @@ public class MyWeatherContext : DbContext builder.AddNpgsqlDbContext(connectionName: "weatherdb"); ``` -Note que o .NET Aspire trata da configuração da string de conexão automaticamente. O nome da conexão "weatherdb" corresponde ao nome do banco de dados que criamos no projeto AppHost. +Note que o Aspire trata da configuração da string de conexão automaticamente. O nome da conexão "weatherdb" corresponde ao nome do banco de dados que criamos no projeto AppHost. 1. Configure a inicialização do banco de dados: @@ -265,15 +265,15 @@ Se você quiser redefinir e começar do zero: ## Outras Opções de Dados -Além do PostgreSQL, o .NET Aspire fornece suporte de primeira classe para vários outros sistemas de banco de dados: +Além do PostgreSQL, o Aspire fornece suporte de primeira classe para vários outros sistemas de banco de dados: ### [Azure SQL/SQL Server](https://learn.microsoft.com/en-us/dotnet/aspire/database/sql-server-entity-framework-integration) -A integração do SQL Server no .NET Aspire inclui provisionamento automático de contêiner para desenvolvimento, gerenciamento de string de conexão e verificações de saúde. Suporta tanto contêineres SQL Server locais quanto Azure SQL Database em produção. A integração trata da resiliência de conexão automaticamente e inclui telemetria para monitorar operações de banco de dados. +A integração do SQL Server no Aspire inclui provisionamento automático de contêiner para desenvolvimento, gerenciamento de string de conexão e verificações de saúde. Suporta tanto contêineres SQL Server locais quanto Azure SQL Database em produção. A integração trata da resiliência de conexão automaticamente e inclui telemetria para monitorar operações de banco de dados. ### [MySQL](https://learn.microsoft.com/en-us/dotnet/aspire/database/mysql-entity-framework-integration) -A integração MySQL para .NET Aspire fornece capacidades similares ao PostgreSQL, incluindo ambientes de desenvolvimento containerizados e configurações prontas para produção. Inclui tentativas de conexão integradas e monitoramento de saúde, tornando-o adequado para cenários de desenvolvimento e produção. +A integração MySQL para Aspire fornece capacidades similares ao PostgreSQL, incluindo ambientes de desenvolvimento containerizados e configurações prontas para produção. Inclui tentativas de conexão integradas e monitoramento de saúde, tornando-o adequado para cenários de desenvolvimento e produção. ### [MongoDB](https://learn.microsoft.com/en-us/dotnet/aspire/database/mongodb-integration) @@ -285,7 +285,7 @@ Embora o SQLite não exija containerização, o Aspire fornece padrões de confi ## Recursos de Banco de Dados do Community Toolkit -O .NET Aspire Community Toolkit estende as capacidades de banco de dados com ferramentas adicionais: +O Aspire Community Toolkit estende as capacidades de banco de dados com ferramentas adicionais: ### [SQL Database Projects](https://learn.microsoft.com/en-us/dotnet/aspire/community-toolkit/hosting-sql-database-projects) @@ -303,10 +303,10 @@ O Data API Builder (DAB) gera automaticamente endpoints REST e GraphQL a partir ## Conclusão -Neste módulo, adicionamos suporte de banco de dados PostgreSQL à nossa aplicação usando os recursos de integração de banco de dados do .NET Aspire. Usamos o Entity Framework Core para acesso a dados e configuramos nossa aplicação para funcionar tanto com desenvolvimento local quanto com bancos de dados hospedados na nuvem. +Neste módulo, adicionamos suporte de banco de dados PostgreSQL à nossa aplicação usando os recursos de integração de banco de dados do Aspire. Usamos o Entity Framework Core para acesso a dados e configuramos nossa aplicação para funcionar tanto com desenvolvimento local quanto com bancos de dados hospedados na nuvem. O próximo passo natural seria adicionar testes para verificar se a integração do banco de dados funciona corretamente. -Vá para [Módulo #8: Testes de Integração](../Lesson-08-Integration-Testing/README.md) para aprender como escrever testes de integração para sua aplicação .NET Aspire. +Vá para [Módulo #8: Testes de Integração](../Lesson-08-Integration-Testing/README.md) para aprender como escrever testes de integração para sua aplicação Aspire. **Próximo**: [Módulo #8: Testes de Integração](../Lesson-08-Integration-Testing/README.md) diff --git a/workshop/Lesson-07-Database/README.zh-cn.md b/workshop/Lesson-07-Database/README.zh-cn.md index 1a8835e1..5b8cb85f 100644 --- a/workshop/Lesson-07-Database/README.zh-cn.md +++ b/workshop/Lesson-07-Database/README.zh-cn.md @@ -6,7 +6,7 @@ ## 设置PostgreSQL -.NET Aspire通过`Aspire.Hosting.PostgreSQL`包提供对PostgreSQL的内置支持。要设置PostgreSQL: +Aspire通过`Aspire.Hosting.PostgreSQL`包提供对PostgreSQL的内置支持。要设置PostgreSQL: 1. 在AppHost项目中安装所需的NuGet包: @@ -66,7 +66,7 @@ var weatherDb = postgres.AddDatabase("weatherdb"); > **注意**:持久容器主要适用于开发场景。在生产部署中,您通常会使用自动处理持久性的托管数据库服务。 > -> **高级容器功能**:.NET Aspire还支持高级容器配置,如用于更好启动协调的`WithExplicitStart()`,以及用于挂载初始化脚本的`WithContainerFiles()`。当复杂开发场景需要时,这些功能提供对容器行为的细粒度控制。要了解这些高级功能的更多信息,请参阅官方文档中的[使用卷持久化数据](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes)和[容器资源生命周期](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)。 +> **高级容器功能**:Aspire还支持高级容器配置,如用于更好启动协调的`WithExplicitStart()`,以及用于挂载初始化脚本的`WithContainerFiles()`。当复杂开发场景需要时,这些功能提供对容器行为的细粒度控制。要了解这些高级功能的更多信息,请参阅官方文档中的[使用卷持久化数据](https://learn.microsoft.com/dotnet/aspire/fundamentals/persist-data-volumes)和[容器资源生命周期](https://learn.microsoft.com/dotnet/aspire/fundamentals/app-host-overview#container-resource-lifecycle)。 ## 将EF Core与PostgreSQL集成 @@ -102,7 +102,7 @@ public class MyWeatherContext : DbContext builder.AddNpgsqlDbContext(connectionName: "weatherdb"); ``` -请注意,.NET Aspire自动处理连接字符串配置。连接名称"weatherdb"与我们在AppHost项目中创建的数据库名称匹配。 +请注意,Aspire自动处理连接字符串配置。连接名称"weatherdb"与我们在AppHost项目中创建的数据库名称匹配。 1. 设置数据库初始化: @@ -265,15 +265,15 @@ IQueryable zones ## 其他数据选项 -除了PostgreSQL,.NET Aspire还为其他几个数据库系统提供一流支持: +除了PostgreSQL,Aspire还为其他几个数据库系统提供一流支持: ### [Azure SQL/SQL Server](https://learn.microsoft.com/en-us/dotnet/aspire/database/sql-server-entity-framework-integration) -.NET Aspire中的SQL Server集成包括开发的自动容器配置、连接字符串管理和健康检查。它支持本地SQL Server容器和生产中的Azure SQL数据库。集成自动处理连接弹性,并包括用于监控数据库操作的遥测。 +Aspire中的SQL Server集成包括开发的自动容器配置、连接字符串管理和健康检查。它支持本地SQL Server容器和生产中的Azure SQL数据库。集成自动处理连接弹性,并包括用于监控数据库操作的遥测。 ### [MySQL](https://learn.microsoft.com/en-us/dotnet/aspire/database/mysql-entity-framework-integration) -.NET Aspire的MySQL集成提供与PostgreSQL类似的功能,包括容器化开发环境和生产就绪配置。它包括内置连接重试和健康监控,使其适合开发和生产场景。 +Aspire的MySQL集成提供与PostgreSQL类似的功能,包括容器化开发环境和生产就绪配置。它包括内置连接重试和健康监控,使其适合开发和生产场景。 ### [MongoDB](https://learn.microsoft.com/en-us/dotnet/aspire/database/mongodb-integration) @@ -285,7 +285,7 @@ IQueryable zones ## 社区工具包数据库功能 -.NET Aspire社区工具包通过附加工具扩展数据库功能: +Aspire社区工具包通过附加工具扩展数据库功能: ### [SQL数据库项目](https://learn.microsoft.com/en-us/dotnet/aspire/community-toolkit/hosting-sql-database-projects) @@ -303,10 +303,10 @@ SQL数据库项目集成使您能够将数据库架构作为源代码的一部 ## 结论 -在本模块中,我们使用.NET Aspire的数据库集成功能向应用程序添加了PostgreSQL数据库支持。我们使用Entity Framework Core进行数据访问,并配置了应用程序以同时适用于本地开发和云托管数据库。 +在本模块中,我们使用Aspire的数据库集成功能向应用程序添加了PostgreSQL数据库支持。我们使用Entity Framework Core进行数据访问,并配置了应用程序以同时适用于本地开发和云托管数据库。 下一个自然步骤是添加测试以验证数据库集成是否正常工作。 -前往[模块#8:集成测试](../Lesson-08-Integration-Testing/README.md)学习如何为您的.NET Aspire应用程序编写集成测试。 +前往[模块#8:集成测试](../Lesson-08-Integration-Testing/README.md)学习如何为您的Aspire应用程序编写集成测试。 **下一步**:[模块#8:集成测试](../Lesson-08-Integration-Testing/README.md) diff --git a/workshop/Lesson-07-Database/code/Api/Api.csproj b/workshop/Lesson-07-Database/code/Api/Api.csproj index 54b0e66d..31ee83ff 100644 --- a/workshop/Lesson-07-Database/code/Api/Api.csproj +++ b/workshop/Lesson-07-Database/code/Api/Api.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-07-Database/code/Api/Data/NwsManager.cs b/workshop/Lesson-07-Database/code/Api/Data/NwsManager.cs index 26cb10b3..dd00df15 100644 --- a/workshop/Lesson-07-Database/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-07-Database/code/Api/Data/NwsManager.cs @@ -110,7 +110,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-07-Database/code/AppHost/AppHost.csproj b/workshop/Lesson-07-Database/code/AppHost/AppHost.csproj index 56ba9a07..ef1490f2 100644 --- a/workshop/Lesson-07-Database/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-07-Database/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -9,8 +9,8 @@ - - + + diff --git a/workshop/Lesson-07-Database/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-07-Database/code/MyWeatherHub/MyWeatherHub.csproj index 5c809f74..54881294 100644 --- a/workshop/Lesson-07-Database/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-07-Database/code/MyWeatherHub/MyWeatherHub.csproj @@ -10,7 +10,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/workshop/Lesson-07-Database/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-07-Database/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-07-Database/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-07-Database/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-08-Integration-Testing/README.es.md b/workshop/Lesson-08-Integration-Testing/README.es.md index 4331cbd5..f44eb169 100644 --- a/workshop/Lesson-08-Integration-Testing/README.es.md +++ b/workshop/Lesson-08-Integration-Testing/README.es.md @@ -1,4 +1,4 @@ -# Pruebas de Integración con .NET Aspire +# Pruebas de Integración con Aspire ## Introducción @@ -8,7 +8,7 @@ En este módulo, cubriremos las pruebas de integración usando `Aspire.Hosting.T Las pruebas unitarias se enfocan en probar componentes individuales o unidades de código de forma aislada. Aseguran que cada unidad funcione correctamente por sí sola. En contraste, las pruebas de integración verifican que diferentes componentes de la aplicación funcionen juntos como se espera. Prueban las interacciones entre varias partes del sistema, como APIs, bases de datos y aplicaciones web. -En el contexto de aplicaciones distribuidas con .NET Aspire, las pruebas de integración son esenciales para asegurar que los diferentes servicios y componentes se comuniquen y funcionen correctamente juntos. +En el contexto de aplicaciones distribuidas con Aspire, las pruebas de integración son esenciales para asegurar que los diferentes servicios y componentes se comuniquen y funcionen correctamente juntos. ## Creando el Proyecto de Pruebas de Integración @@ -51,7 +51,7 @@ En el contexto de aplicaciones distribuidas con .NET Aspire, las pruebas de inte Este archivo de proyecto es bastante estándar para un proyecto de pruebas. Los elementos clave son: -- Un `PackageReference` al paquete NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), que proporciona los tipos y APIs necesarios para probar aplicaciones .NET Aspire. +- Un `PackageReference` al paquete NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), que proporciona los tipos y APIs necesarios para probar aplicaciones Aspire. - Un `ProjectReference` al proyecto AppHost, que le da al proyecto de pruebas acceso a la definición de la aplicación distribuida objetivo. - Las configuraciones `EnableMSTestRunner` y `OutputType` para configurar el proyecto de pruebas para ejecutarse con el ejecutor nativo de MSTest. @@ -193,7 +193,7 @@ Esta prueba se enfoca en verificar la configuración de descubrimiento de servic - Llama a `GetEnvironmentVariableValuesAsync()` con el argumento `DistributedApplicationOperation.Publish` para obtener las variables de entorno que se publicarían al recurso. - Finalmente, afirma que el frontend web tiene una variable de entorno que se resuelve a la URL del servicio API, confirmando que el descubrimiento de servicios está configurado correctamente. -Esta prueba es particularmente valiosa porque verifica que los servicios de tu aplicación están correctamente conectados a través de variables de entorno, que es como .NET Aspire maneja el descubrimiento de servicios en aplicaciones distribuidas. +Esta prueba es particularmente valiosa porque verifica que los servicios de tu aplicación están correctamente conectados a través de variables de entorno, que es como Aspire maneja el descubrimiento de servicios en aplicaciones distribuidas. > Nota: Si ves un archivo `WeatherBackgroundTests.cs` en la solución completa que está vacío, es un marcador de posición para futuras pruebas de trabajos en segundo plano y puede ser ignorado para este taller. @@ -258,8 +258,8 @@ Nuestras pruebas verificaron tres aspectos críticos de la aplicación distribui 1. La funcionalidad de la aplicación web (probando que la UI se renderice correctamente) 1. El mecanismo de descubrimiento de servicios (probando que los servicios puedan encontrarse y comunicarse entre sí) -Para una inmersión más profunda en las pruebas con .NET Aspire, incluyendo un video tutorial, consulta la publicación del blog [Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). +Para una inmersión más profunda en las pruebas con Aspire, incluyendo un video tutorial, consulta la publicación del blog [Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). -Ahora, aprendamos sobre las opciones de despliegue al usar .NET Aspire. +Ahora, aprendamos sobre las opciones de despliegue al usar Aspire. **Siguiente**: [Módulo #9: Despliegue](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/README.fr.md b/workshop/Lesson-08-Integration-Testing/README.fr.md index 28df4c7c..259eb8f1 100644 --- a/workshop/Lesson-08-Integration-Testing/README.fr.md +++ b/workshop/Lesson-08-Integration-Testing/README.fr.md @@ -1,4 +1,4 @@ -# Tests d'Intégration avec .NET Aspire +# Tests d'Intégration avec Aspire ## Introduction @@ -8,7 +8,7 @@ Dans ce module, nous couvrirons les tests d'intégration en utilisant `Aspire.Ho Les tests unitaires se concentrent sur le test de composants individuels ou d'unités de code de manière isolée. Ils s'assurent que chaque unité fonctionne correctement de manière autonome. En contraste, les tests d'intégration vérifient que différents composants de l'application fonctionnent ensemble comme attendu. Ils testent les interactions entre diverses parties du système, telles que les APIs, les bases de données et les applications web. -Dans le contexte des applications distribuées avec .NET Aspire, les tests d'intégration sont essentiels pour s'assurer que les différents services et composants communiquent et fonctionnent correctement ensemble. +Dans le contexte des applications distribuées avec Aspire, les tests d'intégration sont essentiels pour s'assurer que les différents services et composants communiquent et fonctionnent correctement ensemble. ## Création du Projet de Tests d'Intégration @@ -51,7 +51,7 @@ Dans le contexte des applications distribuées avec .NET Aspire, les tests d'int Ce fichier projet est assez standard pour un projet de test. Les éléments clés sont : -- Une `PackageReference` au package NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), qui fournit les types et APIs nécessaires pour tester les applications .NET Aspire. +- Une `PackageReference` au package NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), qui fournit les types et APIs nécessaires pour tester les applications Aspire. - Une `ProjectReference` au projet AppHost, qui donne au projet de test l'accès à la définition de l'application distribuée cible. - Les paramètres `EnableMSTestRunner` et `OutputType` pour configurer le projet de test à s'exécuter avec le runner MSTest natif. @@ -193,7 +193,7 @@ Ce test se concentre sur la vérification de la configuration de découverte de - Il appelle `GetEnvironmentVariableValuesAsync()` avec l'argument `DistributedApplicationOperation.Publish` pour obtenir les variables d'environnement qui seraient publiées à la ressource. - Finalement, il affirme que le frontend web a une variable d'environnement qui se résout à l'URL du service API, confirmant que la découverte de service est correctement configurée. -Ce test est particulièrement précieux car il vérifie que les services de votre application sont correctement connectés via les variables d'environnement, ce qui est la façon dont .NET Aspire gère la découverte de service dans les applications distribuées. +Ce test est particulièrement précieux car il vérifie que les services de votre application sont correctement connectés via les variables d'environnement, ce qui est la façon dont Aspire gère la découverte de service dans les applications distribuées. > Note : Si vous voyez un fichier `WeatherBackgroundTests.cs` dans la solution complète qui est vide, c'est un placeholder pour de futurs tests de tâches en arrière-plan et peut être ignoré pour cet atelier. @@ -258,8 +258,8 @@ Nos tests ont vérifié trois aspects critiques de l'application distribuée : 1. La fonctionnalité de l'application web (testant que l'UI se rend correctement) 1. Le mécanisme de découverte de service (testant que les services peuvent se trouver et communiquer entre eux) -Pour une plongée plus approfondie dans les tests avec .NET Aspire, incluant une vidéo explicative, consultez l'article de blog [Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). +Pour une plongée plus approfondie dans les tests avec Aspire, incluant une vidéo explicative, consultez l'article de blog [Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). -Maintenant, apprenons sur les options de déploiement lors de l'utilisation de .NET Aspire. +Maintenant, apprenons sur les options de déploiement lors de l'utilisation de Aspire. **Suivant** : [Module #9 : Déploiement](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/README.jp.md b/workshop/Lesson-08-Integration-Testing/README.jp.md index 924ec073..b2dbcc50 100644 --- a/workshop/Lesson-08-Integration-Testing/README.jp.md +++ b/workshop/Lesson-08-Integration-Testing/README.jp.md @@ -1,4 +1,4 @@ -# .NET Aspireでの統合テスト +# Aspireでの統合テスト ## はじめに @@ -8,7 +8,7 @@ 単体テストは、個々のコンポーネントやコードの単位を分離してテストすることに焦点を当てています。各単位が単独で正しく機能することを確保します。対照的に、統合テストはアプリケーションの異なるコンポーネントが期待通りに連携して動作することを検証します。API、データベース、Webアプリケーションなど、システムの様々な部分間の相互作用をテストします。 -.NET Aspireを使用した分散アプリケーションのコンテキストでは、異なるサービスとコンポーネントが正しく通信し、連携して機能することを確保するために統合テストが不可欠です。 +Aspireを使用した分散アプリケーションのコンテキストでは、異なるサービスとコンポーネントが正しく通信し、連携して機能することを確保するために統合テストが不可欠です。 ## 統合テストプロジェクトの作成 @@ -51,7 +51,7 @@ このプロジェクトファイルは、テストプロジェクトとしては非常に標準的です。主要な要素は以下の通りです: -- [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGetパッケージへの`PackageReference`。これは.NET Aspireアプリケーションをテストするために必要な型とAPIを提供します。 +- [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGetパッケージへの`PackageReference`。これはAspireアプリケーションをテストするために必要な型とAPIを提供します。 - AppHostプロジェクトへの`ProjectReference`。これにより、テストプロジェクトがターゲット分散アプリケーション定義にアクセスできます。 - `EnableMSTestRunner`と`OutputType`の設定。これらはテストプロジェクトがネイティブMSTestランナーで実行されるように構成します。 @@ -193,7 +193,7 @@ public class EnvVarTests - `DistributedApplicationOperation.Publish`引数を使用して`GetEnvironmentVariableValuesAsync()`を呼び出し、リソースに公開される環境変数を取得します。 - 最後に、WebフロントエンドがAPIサービスのURLに解決される環境変数を持っていることをアサートし、サービス発見が正しく構成されていることを確認します。 -このテストは、アプリケーションのサービスが環境変数を通じて正しく接続されていることを検証するため特に価値があります。これは.NET Aspireが分散アプリケーションでサービス発見を処理する方法です。 +このテストは、アプリケーションのサービスが環境変数を通じて正しく接続されていることを検証するため特に価値があります。これはAspireが分散アプリケーションでサービス発見を処理する方法です。 > 注:完成版のソリューションに空の`WeatherBackgroundTests.cs`ファイルがある場合、これは将来のバックグラウンドジョブテスト用のプレースホルダーであり、このワークショップでは無視できます。 @@ -258,8 +258,8 @@ Playwrightの詳細については、[公式ドキュメント](https://playwrig 1. Webアプリケーション機能(UIが正しくレンダリングされることをテスト) 1. サービス発見メカニズム(サービスが互いを見つけて通信できることをテスト) -.NET Aspireでのテストについて、ビデオウォークスルーを含む詳しい情報については、ブログ投稿[Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)をご覧ください。 +Aspireでのテストについて、ビデオウォークスルーを含む詳しい情報については、ブログ投稿[Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)をご覧ください。 -それでは、.NET Aspireを使用する際のデプロイメントオプションについて学びましょう。 +それでは、Aspireを使用する際のデプロイメントオプションについて学びましょう。 **次へ**:[モジュール#9:デプロイメント](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/README.ko.md b/workshop/Lesson-08-Integration-Testing/README.ko.md index 00ba33be..95b9447d 100644 --- a/workshop/Lesson-08-Integration-Testing/README.ko.md +++ b/workshop/Lesson-08-Integration-Testing/README.ko.md @@ -1,4 +1,4 @@ -# .NET Aspire를 이용한 통합 테스트 +# Aspire를 이용한 통합 테스트 ## 소개 @@ -8,7 +8,7 @@ 단위 테스트는 개별 구성 요소나 코드 단위를 격리된 상태에서 테스트하는 데 중점을 둡니다. 각 단위가 개별적으로 올바르게 기능하는지 확인합니다. 반대로 통합 테스트는 애플리케이션의 서로 다른 구성 요소들이 예상대로 함께 작동하는지 검증합니다. API, 데이터베이스, 웹 애플리케이션과 같은 시스템의 다양한 부분 간의 상호 작용을 테스트합니다. -.NET Aspire를 사용한 분산 애플리케이션의 맥락에서 통합 테스트는 서로 다른 서비스와 구성 요소가 올바르게 통신하고 함께 기능하는지 확인하는 데 필수적입니다. +Aspire를 사용한 분산 애플리케이션의 맥락에서 통합 테스트는 서로 다른 서비스와 구성 요소가 올바르게 통신하고 함께 기능하는지 확인하는 데 필수적입니다. ## 통합 테스트 프로젝트 생성 @@ -51,7 +51,7 @@ 이 프로젝트 파일은 테스트 프로젝트로서는 상당히 표준적입니다. 주요 요소들은 다음과 같습니다: -- [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGet 패키지에 대한 `PackageReference`로, .NET Aspire 애플리케이션을 테스트하는 데 필요한 타입과 API를 제공합니다. +- [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGet 패키지에 대한 `PackageReference`로, Aspire 애플리케이션을 테스트하는 데 필요한 타입과 API를 제공합니다. - AppHost 프로젝트에 대한 `ProjectReference`로, 테스트 프로젝트가 대상 분산 애플리케이션 정의에 액세스할 수 있게 합니다. - 테스트 프로젝트가 네이티브 MSTest 러너로 실행되도록 구성하는 `EnableMSTestRunner`와 `OutputType` 설정. @@ -193,7 +193,7 @@ public class EnvVarTests - `DistributedApplicationOperation.Publish` 인수와 함께 `GetEnvironmentVariableValuesAsync()`를 호출하여 리소스에 게시될 환경 변수를 가져옵니다. - 마지막으로 웹 프론트엔드가 API 서비스의 URL로 해결되는 환경 변수를 가지고 있는지 어설션하여 서비스 검색이 올바르게 구성되었음을 확인합니다. -이 테스트는 애플리케이션의 서비스가 환경 변수를 통해 올바르게 연결되어 있는지 검증하므로 특히 가치가 있습니다. 이는 .NET Aspire가 분산 애플리케이션에서 서비스 검색을 처리하는 방법입니다. +이 테스트는 애플리케이션의 서비스가 환경 변수를 통해 올바르게 연결되어 있는지 검증하므로 특히 가치가 있습니다. 이는 Aspire가 분산 애플리케이션에서 서비스 검색을 처리하는 방법입니다. > 참고: 완성된 솔루션에서 비어있는 `WeatherBackgroundTests.cs` 파일을 보게 된다면, 이는 향후 백그라운드 작업 테스트를 위한 플레이스홀더이며 이 워크샵에서는 무시할 수 있습니다. @@ -258,8 +258,8 @@ Playwright에 대한 자세한 정보는 [공식 문서](https://playwright.dev/ 1. 웹 애플리케이션 기능 (UI가 올바르게 렌더링되는지 테스트) 1. 서비스 검색 메커니즘 (서비스가 서로를 찾고 통신할 수 있는지 테스트) -비디오 안내를 포함하여 .NET Aspire로 테스트하는 것에 대한 더 깊은 이해를 위해서는 블로그 포스트 [Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)를 확인하세요. +비디오 안내를 포함하여 Aspire로 테스트하는 것에 대한 더 깊은 이해를 위해서는 블로그 포스트 [Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)를 확인하세요. -이제 .NET Aspire를 사용할 때의 배포 옵션에 대해 알아보겠습니다. +이제 Aspire를 사용할 때의 배포 옵션에 대해 알아보겠습니다. **다음**: [모듈 #9: 배포](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/README.pt-br.md b/workshop/Lesson-08-Integration-Testing/README.pt-br.md index ba549282..4a263e77 100644 --- a/workshop/Lesson-08-Integration-Testing/README.pt-br.md +++ b/workshop/Lesson-08-Integration-Testing/README.pt-br.md @@ -1,4 +1,4 @@ -# Testes de Integração com .NET Aspire +# Testes de Integração com Aspire ## Introdução @@ -8,7 +8,7 @@ Neste módulo, abordaremos testes de integração usando `Aspire.Hosting.Testing Os testes unitários focam em testar componentes individuais ou unidades de código de forma isolada. Eles garantem que cada unidade funcione corretamente por si só. Em contraste, os testes de integração verificam se diferentes componentes da aplicação funcionam juntos como esperado. Eles testam as interações entre várias partes do sistema, como APIs, bancos de dados e aplicações web. -No contexto de aplicações distribuídas com .NET Aspire, os testes de integração são essenciais para garantir que os diferentes serviços e componentes se comuniquem e funcionem corretamente em conjunto. +No contexto de aplicações distribuídas com Aspire, os testes de integração são essenciais para garantir que os diferentes serviços e componentes se comuniquem e funcionem corretamente em conjunto. ## Criando o Projeto de Testes de Integração @@ -51,7 +51,7 @@ No contexto de aplicações distribuídas com .NET Aspire, os testes de integra Este arquivo de projeto é bastante padrão para um projeto de teste. Os elementos-chave são: -- Uma `PackageReference` para o pacote NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), que fornece os tipos e APIs necessários para testar aplicações .NET Aspire. +- Uma `PackageReference` para o pacote NuGet [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing), que fornece os tipos e APIs necessários para testar aplicações Aspire. - Uma `ProjectReference` para o projeto AppHost, que dá ao projeto de teste acesso à definição da aplicação distribuída alvo. - As configurações `EnableMSTestRunner` e `OutputType` para configurar o projeto de teste para executar com o runner nativo do MSTest. @@ -193,7 +193,7 @@ Este teste foca na verificação da configuração de descoberta de serviços: - Ele chama `GetEnvironmentVariableValuesAsync()` com o argumento `DistributedApplicationOperation.Publish` para obter as variáveis de ambiente que seriam publicadas para o recurso. - Finalmente, ele afirma que o frontend web tem uma variável de ambiente que resolve para a URL do serviço da API, confirmando que a descoberta de serviços está configurada corretamente. -Este teste é particularmente valioso porque verifica que os serviços da sua aplicação estão corretamente conectados através de variáveis de ambiente, que é como o .NET Aspire lida com descoberta de serviços em aplicações distribuídas. +Este teste é particularmente valioso porque verifica que os serviços da sua aplicação estão corretamente conectados através de variáveis de ambiente, que é como o Aspire lida com descoberta de serviços em aplicações distribuídas. > Nota: Se você ver um arquivo `WeatherBackgroundTests.cs` na solução completa que está vazio, é um placeholder para futuros testes de job em background e pode ser ignorado para este workshop. @@ -258,8 +258,8 @@ Nossos testes verificaram três aspectos críticos da aplicação distribuída: 1. A funcionalidade da aplicação web (testando que a UI renderiza corretamente) 1. O mecanismo de descoberta de serviços (testando que serviços podem se encontrar e comunicar entre si) -Para um mergulho mais profundo em testes com .NET Aspire, incluindo um walkthrough em vídeo, confira o post do blog [Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). +Para um mergulho mais profundo em testes com Aspire, incluindo um walkthrough em vídeo, confira o post do blog [Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/). -Agora, vamos aprender sobre opções de deploy ao usar .NET Aspire. +Agora, vamos aprender sobre opções de deploy ao usar Aspire. **Próximo**: [Módulo #9: Deployment](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/README.zh-cn.md b/workshop/Lesson-08-Integration-Testing/README.zh-cn.md index bccfca4b..58839a15 100644 --- a/workshop/Lesson-08-Integration-Testing/README.zh-cn.md +++ b/workshop/Lesson-08-Integration-Testing/README.zh-cn.md @@ -1,4 +1,4 @@ -# 使用 .NET Aspire 进行集成测试 +# 使用 Aspire 进行集成测试 ## 介绍 @@ -8,7 +8,7 @@ 单元测试专注于独立测试单个组件或代码单元。它确保每个单元能够独立正常工作。相比之下,集成测试验证应用程序的不同组件能够按预期协同工作。它测试系统各个部分之间的交互,如 API、数据库和 Web 应用程序。 -在使用 .NET Aspire 的分布式应用程序环境中,集成测试对于确保不同服务和组件能够正确通信和协同工作至关重要。 +在使用 Aspire 的分布式应用程序环境中,集成测试对于确保不同服务和组件能够正确通信和协同工作至关重要。 ## 创建集成测试项目 @@ -51,7 +51,7 @@ 这个项目文件对于测试项目来说是相当标准的。关键元素包括: -- 对 [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGet 包的 `PackageReference`,它提供了测试 .NET Aspire 应用程序所需的类型和 API。 +- 对 [Aspire.Hosting.Testing](https://www.nuget.org/packages/Aspire.Hosting.Testing) NuGet 包的 `PackageReference`,它提供了测试 Aspire 应用程序所需的类型和 API。 - 对 AppHost 项目的 `ProjectReference`,这使测试项目能够访问目标分布式应用程序定义。 - `EnableMSTestRunner` 和 `OutputType` 设置,用于配置测试项目使用原生 MSTest 运行器运行。 @@ -193,7 +193,7 @@ public class EnvVarTests - 它使用 `DistributedApplicationOperation.Publish` 参数调用 `GetEnvironmentVariableValuesAsync()` 来获取将发布到资源的环境变量。 - 最后,它断言 Web 前端具有解析为 API 服务 URL 的环境变量,确认服务发现配置正确。 -这个测试特别有价值,因为它验证了应用程序的服务通过环境变量正确连接,这是 .NET Aspire 在分布式应用程序中处理服务发现的方式。 +这个测试特别有价值,因为它验证了应用程序的服务通过环境变量正确连接,这是 Aspire 在分布式应用程序中处理服务发现的方式。 > 注意:如果您在完整解决方案中看到空的 `WeatherBackgroundTests.cs` 文件,它是未来后台作业测试的占位符,在本研讨会中可以忽略。 @@ -258,8 +258,8 @@ Playwright 可用于执行 Web 应用程序的端到端测试。它可以模拟 1. Web 应用程序功能(测试 UI 正确渲染) 1. 服务发现机制(测试服务可以找到并相互通信) -要深入了解使用 .NET Aspire 进行测试(包括视频演练),请查看博客文章[Getting started with testing and .NET Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)。 +要深入了解使用 Aspire 进行测试(包括视频演练),请查看博客文章[Getting started with testing and Aspire](https://devblogs.microsoft.com/dotnet/getting-started-with-testing-and-dotnet-aspire/)。 -现在,让我们了解使用 .NET Aspire 时的部署选项。 +现在,让我们了解使用 Aspire 时的部署选项。 **下一步**:[模块 #9:部署](../Lesson-09-Deployment/README.md) diff --git a/workshop/Lesson-08-Integration-Testing/code/Api/Api.csproj b/workshop/Lesson-08-Integration-Testing/code/Api/Api.csproj index 9f505afc..9e549ecb 100644 --- a/workshop/Lesson-08-Integration-Testing/code/Api/Api.csproj +++ b/workshop/Lesson-08-Integration-Testing/code/Api/Api.csproj @@ -6,7 +6,7 @@ - + diff --git a/workshop/Lesson-08-Integration-Testing/code/Api/Data/NwsManager.cs b/workshop/Lesson-08-Integration-Testing/code/Api/Data/NwsManager.cs index 26cb10b3..dd00df15 100644 --- a/workshop/Lesson-08-Integration-Testing/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-08-Integration-Testing/code/Api/Data/NwsManager.cs @@ -110,7 +110,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-08-Integration-Testing/code/Api/Program.cs b/workshop/Lesson-08-Integration-Testing/code/Api/Program.cs index 5049a989..edc01355 100644 --- a/workshop/Lesson-08-Integration-Testing/code/Api/Program.cs +++ b/workshop/Lesson-08-Integration-Testing/code/Api/Program.cs @@ -24,7 +24,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-08-Integration-Testing/code/AppHost/AppHost.csproj b/workshop/Lesson-08-Integration-Testing/code/AppHost/AppHost.csproj index 56ba9a07..ef1490f2 100644 --- a/workshop/Lesson-08-Integration-Testing/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-08-Integration-Testing/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -9,8 +9,8 @@ - - + + diff --git a/workshop/Lesson-08-Integration-Testing/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-08-Integration-Testing/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-08-Integration-Testing/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-08-Integration-Testing/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-08-Integration-Testing/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-08-Integration-Testing/code/MyWeatherHub/MyWeatherHub.csproj index aef08017..64334d66 100644 --- a/workshop/Lesson-08-Integration-Testing/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-08-Integration-Testing/code/MyWeatherHub/MyWeatherHub.csproj @@ -11,7 +11,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/workshop/Lesson-08-Integration-Testing/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-08-Integration-Testing/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-08-Integration-Testing/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-08-Integration-Testing/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-09-Deployment/README.es.md b/workshop/Lesson-09-Deployment/README.es.md index 06f04dce..b9b0b955 100644 --- a/workshop/Lesson-09-Deployment/README.es.md +++ b/workshop/Lesson-09-Deployment/README.es.md @@ -1,16 +1,16 @@ -# Desplegar una aplicación .NET Aspire en Azure Container Apps +# Desplegar una aplicación Aspire en Azure Container Apps -.NET Aspire está optimizado para aplicaciones destinadas a ejecutarse en entornos contenerizados. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) es un entorno completamente administrado que te permite ejecutar microservicios y aplicaciones contenerizadas en una plataforma sin servidor. Este artículo te guiará a través de la creación de una nueva solución .NET Aspire y su despliegue en Microsoft Azure Container Apps usando Visual Studio y la CLI de Desarrollador de Azure (`azd`). +Aspire está optimizado para aplicaciones destinadas a ejecutarse en entornos contenerizados. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) es un entorno completamente administrado que te permite ejecutar microservicios y aplicaciones contenerizadas en una plataforma sin servidor. Este artículo te guiará a través de la creación de una nueva solución Aspire y su despliegue en Microsoft Azure Container Apps usando Visual Studio y la CLI de Desarrollador de Azure (`azd`). -En este ejemplo, asumiremos que estás desplegando la aplicación MyWeatherHub de las secciones anteriores. Puedes usar el código que has construido, o puedes usar el código en el directorio **complete**. Sin embargo, los pasos generales son los mismos para cualquier aplicación .NET Aspire. +En este ejemplo, asumiremos que estás desplegando la aplicación MyWeatherHub de las secciones anteriores. Puedes usar el código que has construido, o puedes usar el código en el directorio **complete**. Sin embargo, los pasos generales son los mismos para cualquier aplicación Aspire. ## Desplegar la aplicación con Visual Studio 1. En el Explorador de Soluciones, haz clic derecho en el proyecto **AppHost** y selecciona **Publicar** para abrir el diálogo de **Publicación**. - > Publicar .NET Aspire requiere la versión actual de la CLI `azd`. Esto debería instalarse con la carga de trabajo de .NET Aspire, pero si recibes una notificación de que la CLI no está instalada o actualizada, puedes seguir las instrucciones en la siguiente parte de este tutorial para instalarla. + > Publicar Aspire requiere la versión actual de la CLI `azd`. Esto debería instalarse con la carga de trabajo de Aspire, pero si recibes una notificación de que la CLI no está instalada o actualizada, puedes seguir las instrucciones en la siguiente parte de este tutorial para instalarla. -1. Selecciona **Azure Container Apps para .NET Aspire** como el destino de publicación. +1. Selecciona **Azure Container Apps para Aspire** como el destino de publicación. ![Una captura de pantalla del flujo de trabajo del diálogo de publicación.](../media/vs-deploy.png) @@ -55,7 +55,7 @@ Este comando proporciona informes de progreso mejorados, mejores mensajes de err > - Asegúrate de haber iniciado sesión: ejecuta `azd login` y selecciona la suscripción de Azure correcta. > - Ejecuta los siguientes comandos desde la carpeta que contiene tu AppHost (para este repositorio, típicamente la carpeta `complete` si estás desplegando el ejemplo terminado). -1. Abre una nueva ventana de terminal y navega (`cd`) a la raíz de tu proyecto .NET Aspire. +1. Abre una nueva ventana de terminal y navega (`cd`) a la raíz de tu proyecto Aspire. 1. Ejecuta el comando `azd init` para inicializar tu proyecto con `azd`, el cual inspeccionará la estructura de directorios local y determinará el tipo de aplicación. ```console @@ -80,7 +80,7 @@ Este comando proporciona informes de progreso mejorados, mejores mensajes de err Seleccionar una plantilla ``` -1. Después de escanear el directorio, `azd` te pide confirmar que ha encontrado el correcto proyecto _AppHost_ de .NET Aspire. Selecciona la opción **Confirmar y continuar con la inicialización de mi aplicación**. +1. Después de escanear el directorio, `azd` te pide confirmar que ha encontrado el correcto proyecto _AppHost_ de Aspire. Selecciona la opción **Confirmar y continuar con la inicialización de mi aplicación**. ```console Servicios detectados: @@ -95,7 +95,7 @@ Este comando proporciona informes de progreso mejorados, mejores mensajes de err Cancelar y salir ``` -1. `azd` presenta cada uno de los proyectos en la solución .NET Aspire y te pide identificar cuál desplegar con ingreso HTTP abierto públicamente a todo el tráfico de internet. Selecciona solo `myweatherhub` (usando las teclas ↓ y Espacio), ya que quieres que la API sea privada al entorno de Azure Container Apps y _no_ esté disponible públicamente. +1. `azd` presenta cada uno de los proyectos en la solución Aspire y te pide identificar cuál desplegar con ingreso HTTP abierto públicamente a todo el tráfico de internet. Selecciona solo `myweatherhub` (usando las teclas ↓ y Espacio), ya que quieres que la API sea privada al entorno de Azure Container Apps y _no_ esté disponible públicamente. ```console ? Selecciona una opción Confirmar y continuar con la inicialización de mi aplicación @@ -119,7 +119,7 @@ Este comando proporciona informes de progreso mejorados, mejores mensajes de err `azd` genera varios archivos y los coloca en el directorio de trabajo. Estos archivos son: -- _azure.yaml_: Describe los servicios de la aplicación, como el proyecto .NET Aspire AppHost, y los mapea a recursos de Azure. +- _azure.yaml_: Describe los servicios de la aplicación, como el proyecto Aspire AppHost, y los mapea a recursos de Azure. - _.azure/config.json_: Archivo de configuración que informa a `azd` cuál es el entorno activo actual. - _.azure/aspireazddev/.env_: Contiene sobreescrituras específicas del entorno. - _.azure/aspireazddev/config.json_: Archivo de configuración que informa a `azd` qué servicios deben tener un punto final público en este entorno. diff --git a/workshop/Lesson-09-Deployment/README.fr.md b/workshop/Lesson-09-Deployment/README.fr.md index db981034..01b8974e 100644 --- a/workshop/Lesson-09-Deployment/README.fr.md +++ b/workshop/Lesson-09-Deployment/README.fr.md @@ -1,16 +1,16 @@ -# Déployer une application .NET Aspire sur Azure Container Apps +# Déployer une application Aspire sur Azure Container Apps -.NET Aspire est optimisé pour les applications destinées à s'exécuter dans des environnements conteneurisés. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) est un environnement entièrement géré qui vous permet d'exécuter des microservices et des applications conteneurisées sur une plateforme sans serveur. Cet article vous guidera dans la création d'une nouvelle solution .NET Aspire et son déploiement sur Microsoft Azure Container Apps en utilisant Visual Studio et l'Azure Developer CLI (`azd`). +Aspire est optimisé pour les applications destinées à s'exécuter dans des environnements conteneurisés. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) est un environnement entièrement géré qui vous permet d'exécuter des microservices et des applications conteneurisées sur une plateforme sans serveur. Cet article vous guidera dans la création d'une nouvelle solution Aspire et son déploiement sur Microsoft Azure Container Apps en utilisant Visual Studio et l'Azure Developer CLI (`azd`). -Dans cet exemple, nous supposerons que vous déployez l'application MyWeatherHub des sections précédentes. Vous pouvez utiliser le code que vous avez construit, ou vous pouvez utiliser le code dans le répertoire **complete**. Cependant, les étapes générales sont les mêmes pour toute application .NET Aspire. +Dans cet exemple, nous supposerons que vous déployez l'application MyWeatherHub des sections précédentes. Vous pouvez utiliser le code que vous avez construit, ou vous pouvez utiliser le code dans le répertoire **complete**. Cependant, les étapes générales sont les mêmes pour toute application Aspire. ## Déployer l'application avec Visual Studio 1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet **AppHost** et sélectionnez **Publier** pour ouvrir la boîte de dialogue **Publier**. - > Publier .NET Aspire nécessite la version actuelle de la CLI `azd`. Cela devrait être installé avec la charge de travail .NET Aspire, mais si vous recevez une notification indiquant que la CLI n'est pas installée ou à jour, vous pouvez suivre les instructions dans la partie suivante de ce tutoriel pour l'installer. + > Publier Aspire nécessite la version actuelle de la CLI `azd`. Cela devrait être installé avec la charge de travail Aspire, mais si vous recevez une notification indiquant que la CLI n'est pas installée ou à jour, vous pouvez suivre les instructions dans la partie suivante de ce tutoriel pour l'installer. -1. Sélectionnez **Azure Container Apps pour .NET Aspire** comme cible de publication. +1. Sélectionnez **Azure Container Apps pour Aspire** comme cible de publication. ![Une capture d'écran du flux de travail de la boîte de dialogue de publication.](../media/vs-deploy.png) @@ -55,7 +55,7 @@ Cette commande fournit des rapports de progression améliorés, de meilleurs mes > - Assurez-vous d'être connecté : exécutez `azd login` et sélectionnez l'abonnement Azure correct. > - Exécutez les commandes suivantes depuis le dossier qui contient votre AppHost (pour ce dépôt, typiquement le dossier `complete` si vous déployez l'échantillon terminé). -1. Ouvrez une nouvelle fenêtre de terminal et naviguez (`cd`) vers la racine de votre projet .NET Aspire. +1. Ouvrez une nouvelle fenêtre de terminal et naviguez (`cd`) vers la racine de votre projet Aspire. 1. Exécutez la commande `azd init` pour initialiser votre projet avec `azd`, qui inspectera la structure de répertoire locale et déterminera le type d'application. ```console @@ -80,7 +80,7 @@ Cette commande fournit des rapports de progression améliorés, de meilleurs mes Sélectionner un modèle ``` -1. Après avoir scanné le répertoire, `azd` vous demande de confirmer qu'il a trouvé le bon projet .NET Aspire _AppHost_. Sélectionnez l'option **Confirmer et continuer l'initialisation de mon application**. +1. Après avoir scanné le répertoire, `azd` vous demande de confirmer qu'il a trouvé le bon projet Aspire _AppHost_. Sélectionnez l'option **Confirmer et continuer l'initialisation de mon application**. ```console Services détectés : @@ -95,7 +95,7 @@ Cette commande fournit des rapports de progression améliorés, de meilleurs mes Annuler et quitter ``` -1. `azd` présente chacun des projets de la solution .NET Aspire et vous demande d'identifier lesquels déployer avec l'ingress HTTP ouvert publiquement à tout le trafic internet. Sélectionnez seulement `myweatherhub` (en utilisant les touches ↓ et Espace), puisque vous voulez que l'API (`api`) soit privée à l'environnement Azure Container Apps et non disponible publiquement. +1. `azd` présente chacun des projets de la solution Aspire et vous demande d'identifier lesquels déployer avec l'ingress HTTP ouvert publiquement à tout le trafic internet. Sélectionnez seulement `myweatherhub` (en utilisant les touches ↓ et Espace), puisque vous voulez que l'API (`api`) soit privée à l'environnement Azure Container Apps et non disponible publiquement. ```console ? Sélectionnez une option Confirmer et continuer l'initialisation de mon application @@ -119,7 +119,7 @@ Cette commande fournit des rapports de progression améliorés, de meilleurs mes `azd` génère un certain nombre de fichiers et les place dans le répertoire de travail. Ces fichiers sont : -- _azure.yaml_ : Décrit les services de l'application, tels que le projet .NET Aspire AppHost, et les mappe aux ressources Azure. +- _azure.yaml_ : Décrit les services de l'application, tels que le projet Aspire AppHost, et les mappe aux ressources Azure. - _.azure/config.json_ : Fichier de configuration qui informe `azd` de quel est l'environnement actif actuel. - _.azure/aspireazddev/.env_ : Contient les remplacements spécifiques à l'environnement. - _.azure/aspireazddev/config.json_ : Fichier de configuration qui informe `azd` quels services doivent avoir un point de terminaison public dans cet environnement. diff --git a/workshop/Lesson-09-Deployment/README.jp.md b/workshop/Lesson-09-Deployment/README.jp.md index 45b89be6..93c57279 100644 --- a/workshop/Lesson-09-Deployment/README.jp.md +++ b/workshop/Lesson-09-Deployment/README.jp.md @@ -1,16 +1,16 @@ -# Azure Container Apps への .NET Aspire アプリのデプロイ +# Azure Container Apps への Aspire アプリのデプロイ -.NET Aspire は、コンテナ化環境での実行を目的としたアプリケーション向けに最適化されています。[Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) は、サーバーレス プラットフォームでマイクロサービスやコンテナ化されたアプリケーションを実行できる完全管理型環境です。この記事では、新しい .NET Aspire ソリューションを作成し、Visual Studio と Azure Developer CLI (`azd`) を使用して Microsoft Azure Container Apps にデプロイする方法を説明します。 +Aspire は、コンテナ化環境での実行を目的としたアプリケーション向けに最適化されています。[Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) は、サーバーレス プラットフォームでマイクロサービスやコンテナ化されたアプリケーションを実行できる完全管理型環境です。この記事では、新しい Aspire ソリューションを作成し、Visual Studio と Azure Developer CLI (`azd`) を使用して Microsoft Azure Container Apps にデプロイする方法を説明します。 -この例では、前のセクションで作成した MyWeatherHub アプリをデプロイすることを前提としています。自分で構築したコードを使用するか、**complete** ディレクトリのコードを使用できます。ただし、一般的な手順はどの .NET Aspire アプリでも同じです。 +この例では、前のセクションで作成した MyWeatherHub アプリをデプロイすることを前提としています。自分で構築したコードを使用するか、**complete** ディレクトリのコードを使用できます。ただし、一般的な手順はどの Aspire アプリでも同じです。 ## Visual Studio を使用してアプリをデプロイ 1. ソリューション エクスプローラーで **AppHost** プロジェクトを右クリックし、**発行** を選択して **発行** ダイアログを開きます。 - > .NET Aspire の発行には、現在のバージョンの `azd` CLI が必要です。これは .NET Aspire ワークロードと一緒にインストールされるはずですが、CLI がインストールされていない、または最新でないという通知を受け取った場合は、このチュートリアルの次の部分の手順に従ってインストールできます。 + > Aspire の発行には、現在のバージョンの `azd` CLI が必要です。これは Aspire ワークロードと一緒にインストールされるはずですが、CLI がインストールされていない、または最新でないという通知を受け取った場合は、このチュートリアルの次の部分の手順に従ってインストールできます。 -1. 発行ターゲットとして **Azure Container Apps for .NET Aspire** を選択します。 +1. 発行ターゲットとして **Azure Container Apps for Aspire** を選択します。 ![発行ダイアログ ワークフローのスクリーンショット。](../media/vs-deploy.png) @@ -55,7 +55,7 @@ aspire deploy > - サインインしていることを確認してください:`azd login` を実行し、正しい Azure サブスクリプションを選択します。 > - AppHost を含むフォルダーから次のコマンドを実行します(このリポジトリの場合、完成したサンプルをデプロイする場合は通常 `complete` フォルダー)。 -1. 新しいターミナル ウィンドウを開き、.NET Aspire プロジェクトのルートに `cd` します。 +1. 新しいターミナル ウィンドウを開き、Aspire プロジェクトのルートに `cd` します。 1. `azd init` コマンドを実行してプロジェクトを `azd` で初期化します。これにより、ローカル ディレクトリ構造が検査され、アプリの種類が決定されます。 ```console @@ -80,7 +80,7 @@ aspire deploy テンプレートを選択 ``` -1. ディレクトリをスキャンした後、`azd` は正しい .NET Aspire _AppHost_ プロジェクトが見つかったことの確認を求めます。**確認してアプリの初期化を続行** オプションを選択します。 +1. ディレクトリをスキャンした後、`azd` は正しい Aspire _AppHost_ プロジェクトが見つかったことの確認を求めます。**確認してアプリの初期化を続行** オプションを選択します。 ```console 検出されたサービス: @@ -95,7 +95,7 @@ aspire deploy キャンセルして終了 ``` -1. `azd` は .NET Aspire ソリューション内の各プロジェクトを表示し、すべてのインターネット トラフィックに公開的に開かれた HTTP イングレスでデプロイするものを特定するよう求めます。API (`api`) を Azure Container Apps 環境のプライベートにして、公開的に利用できないようにしたいため、`myweatherhub` のみを選択します(↓ キーとスペース キーを使用)。 +1. `azd` は Aspire ソリューション内の各プロジェクトを表示し、すべてのインターネット トラフィックに公開的に開かれた HTTP イングレスでデプロイするものを特定するよう求めます。API (`api`) を Azure Container Apps 環境のプライベートにして、公開的に利用できないようにしたいため、`myweatherhub` のみを選択します(↓ キーとスペース キーを使用)。 ```console ? オプションを選択してください 確認してアプリの初期化を続行 @@ -119,7 +119,7 @@ aspire deploy `azd` は多数のファイルを生成し、作業ディレクトリに配置します。これらのファイルは: -- _azure.yaml_:.NET Aspire AppHost プロジェクトなどのアプリのサービスを記述し、Azure リソースにマップします。 +- _azure.yaml_:Aspire AppHost プロジェクトなどのアプリのサービスを記述し、Azure リソースにマップします。 - _.azure/config.json_:現在のアクティブな環境が何かを `azd` に通知する構成ファイル。 - _.azure/aspireazddev/.env_:環境固有のオーバーライドを含みます。 - _.azure/aspireazddev/config.json_:この環境でパブリック エンドポイントを持つべきサービスを `azd` に通知する構成ファイル。 diff --git a/workshop/Lesson-09-Deployment/README.ko.md b/workshop/Lesson-09-Deployment/README.ko.md index 8703b358..4e2b2631 100644 --- a/workshop/Lesson-09-Deployment/README.ko.md +++ b/workshop/Lesson-09-Deployment/README.ko.md @@ -1,16 +1,16 @@ -# .NET Aspire 앱을 Azure Container Apps에 배포하기 +# Aspire 앱을 Azure Container Apps에 배포하기 -.NET Aspire는 컨테이너화된 환경에서 실행되도록 설계된 애플리케이션에 최적화되어 있습니다. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview)는 서버리스 플랫폼에서 마이크로서비스와 컨테이너화된 애플리케이션을 실행할 수 있는 완전 관리형 환경입니다. 이 문서에서는 Visual Studio와 Azure Developer CLI(`azd`)를 사용하여 새로운 .NET Aspire 솔루션을 생성하고 Microsoft Azure Container Apps에 배포하는 과정을 안내합니다. +Aspire는 컨테이너화된 환경에서 실행되도록 설계된 애플리케이션에 최적화되어 있습니다. [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview)는 서버리스 플랫폼에서 마이크로서비스와 컨테이너화된 애플리케이션을 실행할 수 있는 완전 관리형 환경입니다. 이 문서에서는 Visual Studio와 Azure Developer CLI(`azd`)를 사용하여 새로운 Aspire 솔루션을 생성하고 Microsoft Azure Container Apps에 배포하는 과정을 안내합니다. -이 예제에서는 이전 섹션의 MyWeatherHub 앱을 배포한다고 가정합니다. 구축한 코드를 사용하거나 **complete** 디렉토리의 코드를 사용할 수 있습니다. 하지만 일반적인 단계는 모든 .NET Aspire 앱에 대해 동일합니다. +이 예제에서는 이전 섹션의 MyWeatherHub 앱을 배포한다고 가정합니다. 구축한 코드를 사용하거나 **complete** 디렉토리의 코드를 사용할 수 있습니다. 하지만 일반적인 단계는 모든 Aspire 앱에 대해 동일합니다. ## Visual Studio로 앱 배포 1. 솔루션 탐색기에서 **AppHost** 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 **게시**를 선택하여 **게시** 대화 상자를 엽니다. - > .NET Aspire 게시에는 현재 버전의 `azd` CLI가 필요합니다. 이는 .NET Aspire 워크로드와 함께 설치되어야 하지만, CLI가 설치되지 않았거나 최신 상태가 아니라는 알림을 받으면 이 튜토리얼의 다음 부분에 있는 지침을 따라 설치할 수 있습니다. + > Aspire 게시에는 현재 버전의 `azd` CLI가 필요합니다. 이는 Aspire 워크로드와 함께 설치되어야 하지만, CLI가 설치되지 않았거나 최신 상태가 아니라는 알림을 받으면 이 튜토리얼의 다음 부분에 있는 지침을 따라 설치할 수 있습니다. -1. 게시 대상으로 **Azure Container Apps for .NET Aspire**를 선택합니다. +1. 게시 대상으로 **Azure Container Apps for Aspire**를 선택합니다. ![게시 대화 상자 워크플로의 스크린샷.](../media/vs-deploy.png) @@ -55,7 +55,7 @@ aspire deploy > - 로그인되어 있는지 확인하세요: `azd login`을 실행하고 올바른 Azure 구독을 선택합니다. > - AppHost가 포함된 폴더에서 다음 명령을 실행합니다(이 리포지토리의 경우 완성된 샘플을 배포하는 경우 일반적으로 `complete` 폴더). -1. 새 터미널 창을 열고 .NET Aspire 프로젝트의 루트로 `cd`합니다. +1. 새 터미널 창을 열고 Aspire 프로젝트의 루트로 `cd`합니다. 1. `azd init` 명령을 실행하여 `azd`로 프로젝트를 초기화합니다. 이는 로컬 디렉터리 구조를 검사하고 앱 유형을 결정합니다. ```console @@ -80,7 +80,7 @@ aspire deploy 템플릿 선택 ``` -1. 디렉터리를 스캔한 후 `azd`는 올바른 .NET Aspire _AppHost_ 프로젝트를 찾았는지 확인하도록 요청합니다. **확인하고 내 앱 초기화 계속** 옵션을 선택합니다. +1. 디렉터리를 스캔한 후 `azd`는 올바른 Aspire _AppHost_ 프로젝트를 찾았는지 확인하도록 요청합니다. **확인하고 내 앱 초기화 계속** 옵션을 선택합니다. ```console 감지된 서비스: @@ -95,7 +95,7 @@ aspire deploy 취소하고 종료 ``` -1. `azd`는 .NET Aspire 솔루션의 각 프로젝트를 표시하고 모든 인터넷 트래픽에 공개적으로 열린 HTTP 수신으로 배포할 프로젝트를 식별하도록 요청합니다. API(`api`)를 Azure Container Apps 환경에 비공개로 두고 공개적으로 사용할 수 없도록 하려면 `myweatherhub`만 선택합니다(↓ 및 스페이스 키 사용). +1. `azd`는 Aspire 솔루션의 각 프로젝트를 표시하고 모든 인터넷 트래픽에 공개적으로 열린 HTTP 수신으로 배포할 프로젝트를 식별하도록 요청합니다. API(`api`)를 Azure Container Apps 환경에 비공개로 두고 공개적으로 사용할 수 없도록 하려면 `myweatherhub`만 선택합니다(↓ 및 스페이스 키 사용). ```console ? 옵션을 선택하세요 확인하고 내 앱 초기화 계속 @@ -119,7 +119,7 @@ aspire deploy `azd`는 여러 파일을 생성하여 작업 디렉터리에 배치합니다. 이 파일들은: -- _azure.yaml_: .NET Aspire AppHost 프로젝트와 같은 앱의 서비스를 설명하고 Azure 리소스에 매핑합니다. +- _azure.yaml_: Aspire AppHost 프로젝트와 같은 앱의 서비스를 설명하고 Azure 리소스에 매핑합니다. - _.azure/config.json_: 현재 활성 환경이 무엇인지 `azd`에 알려주는 구성 파일입니다. - _.azure/aspireazddev/.env_: 환경별 재정의를 포함합니다. - _.azure/aspireazddev/config.json_: 이 환경에서 공용 끝점을 가져야 하는 서비스를 `azd`에 알려주는 구성 파일입니다. diff --git a/workshop/Lesson-09-Deployment/README.pt-br.md b/workshop/Lesson-09-Deployment/README.pt-br.md index 6082674d..ddebbc84 100644 --- a/workshop/Lesson-09-Deployment/README.pt-br.md +++ b/workshop/Lesson-09-Deployment/README.pt-br.md @@ -1,16 +1,16 @@ -# Implante um aplicativo .NET Aspire no Azure Container Apps +# Implante um aplicativo Aspire no Azure Container Apps -O .NET Aspire é otimizado para aplicativos destinados a serem executados em ambientes contêinerizados. O [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) é um ambiente totalmente gerenciado que permite executar microsserviços e aplicativos contêinerizados em uma plataforma sem servidor. Este artigo irá guiá-lo na criação de uma nova solução .NET Aspire e na implantação dela no Microsoft Azure Container Apps usando o Visual Studio e o Azure Developer CLI (`azd`). +O Aspire é otimizado para aplicativos destinados a serem executados em ambientes contêinerizados. O [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) é um ambiente totalmente gerenciado que permite executar microsserviços e aplicativos contêinerizados em uma plataforma sem servidor. Este artigo irá guiá-lo na criação de uma nova solução Aspire e na implantação dela no Microsoft Azure Container Apps usando o Visual Studio e o Azure Developer CLI (`azd`). -Neste exemplo, assumiremos que você está implantando o aplicativo MyWeatherHub das seções anteriores. Você pode usar o código que construiu, ou pode usar o código no diretório **complete**. No entanto, os passos gerais são os mesmos para qualquer aplicativo .NET Aspire. +Neste exemplo, assumiremos que você está implantando o aplicativo MyWeatherHub das seções anteriores. Você pode usar o código que construiu, ou pode usar o código no diretório **complete**. No entanto, os passos gerais são os mesmos para qualquer aplicativo Aspire. ## Implante o aplicativo com o Visual Studio 1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto **AppHost** e selecione **Publicar** para abrir a caixa de diálogo **Publicar**. - > Publicar .NET Aspire requer a versão atual da CLI `azd`. Isso deve ser instalado com a carga de trabalho do .NET Aspire, mas se você receber uma notificação de que a CLI não está instalada ou atualizada, pode seguir as instruções na próxima parte deste tutorial para instalá-la. + > Publicar Aspire requer a versão atual da CLI `azd`. Isso deve ser instalado com a carga de trabalho do Aspire, mas se você receber uma notificação de que a CLI não está instalada ou atualizada, pode seguir as instruções na próxima parte deste tutorial para instalá-la. -1. Selecione **Azure Container Apps for .NET Aspire** como o destino de publicação. +1. Selecione **Azure Container Apps for Aspire** como o destino de publicação. ![Uma captura de tela do fluxo de trabalho da caixa de diálogo de publicação.](../media/vs-deploy.png) @@ -55,7 +55,7 @@ Este comando fornece relatórios de progresso aprimorados, melhores mensagens de > - Certifique-se de estar logado: execute `azd login` e selecione a assinatura Azure correta. > - Execute os comandos seguintes da pasta que contém seu AppHost (para este repositório, tipicamente a pasta `complete` se você estiver implantando o exemplo concluído). -1. Abra uma nova janela de terminal e `cd` para a raiz do seu projeto .NET Aspire. +1. Abra uma nova janela de terminal e `cd` para a raiz do seu projeto Aspire. 1. Execute o comando `azd init` para inicializar seu projeto com `azd`, que inspecionará a estrutura de diretório local e determinará o tipo de aplicativo. ```console @@ -80,7 +80,7 @@ Este comando fornece relatórios de progresso aprimorados, melhores mensagens de Selecionar um template ``` -1. Após escanear o diretório, `azd` solicita que você confirme que encontrou o projeto .NET Aspire _AppHost_ correto. Selecione a opção **Confirmar e continuar inicializando meu aplicativo**. +1. Após escanear o diretório, `azd` solicita que você confirme que encontrou o projeto Aspire _AppHost_ correto. Selecione a opção **Confirmar e continuar inicializando meu aplicativo**. ```console Serviços detectados: @@ -95,7 +95,7 @@ Este comando fornece relatórios de progresso aprimorados, melhores mensagens de Cancelar e sair ``` -1. `azd` apresenta cada um dos projetos na solução .NET Aspire e solicita que você identifique quais implantar com ingresso HTTP aberto publicamente para todo o tráfego da internet. Selecione apenas `myweatherhub` (usando as teclas ↓ e Espaço), já que você quer que a API (`api`) seja privada para o ambiente Azure Container Apps e não disponível publicamente. +1. `azd` apresenta cada um dos projetos na solução Aspire e solicita que você identifique quais implantar com ingresso HTTP aberto publicamente para todo o tráfego da internet. Selecione apenas `myweatherhub` (usando as teclas ↓ e Espaço), já que você quer que a API (`api`) seja privada para o ambiente Azure Container Apps e não disponível publicamente. ```console ? Selecione uma opção Confirmar e continuar inicializando meu aplicativo @@ -119,7 +119,7 @@ Este comando fornece relatórios de progresso aprimorados, melhores mensagens de `azd` gera vários arquivos e os coloca no diretório de trabalho. Esses arquivos são: -- _azure.yaml_: Descreve os serviços do aplicativo, como o projeto .NET Aspire AppHost, e os mapeia para recursos Azure. +- _azure.yaml_: Descreve os serviços do aplicativo, como o projeto Aspire AppHost, e os mapeia para recursos Azure. - _.azure/config.json_: Arquivo de configuração que informa ao `azd` qual é o ambiente ativo atual. - _.azure/aspireazddev/.env_: Contém substituições específicas do ambiente. - _.azure/aspireazddev/config.json_: Arquivo de configuração que informa ao `azd` quais serviços devem ter um endpoint público neste ambiente. diff --git a/workshop/Lesson-09-Deployment/README.zh-cn.md b/workshop/Lesson-09-Deployment/README.zh-cn.md index e1fe5a8d..57503363 100644 --- a/workshop/Lesson-09-Deployment/README.zh-cn.md +++ b/workshop/Lesson-09-Deployment/README.zh-cn.md @@ -1,16 +1,16 @@ -# 将 .NET Aspire 应用部署到 Azure Container Apps +# 将 Aspire 应用部署到 Azure Container Apps -.NET Aspire 针对在容器化环境中运行的应用程序进行了优化。[Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) 是一个完全托管的环境,使您能够在无服务器平台上运行微服务和容器化应用程序。本文将指导您创建新的 .NET Aspire 解决方案,并使用 Visual Studio 和 Azure Developer CLI (`azd`) 将其部署到 Microsoft Azure Container Apps。 +Aspire 针对在容器化环境中运行的应用程序进行了优化。[Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview) 是一个完全托管的环境,使您能够在无服务器平台上运行微服务和容器化应用程序。本文将指导您创建新的 Aspire 解决方案,并使用 Visual Studio 和 Azure Developer CLI (`azd`) 将其部署到 Microsoft Azure Container Apps。 -在此示例中,我们假设您正在部署前面部分中的 MyWeatherHub 应用程序。您可以使用您构建的代码,也可以使用 **complete** 目录中的代码。但是,对于任何 .NET Aspire 应用程序,一般步骤都是相同的。 +在此示例中,我们假设您正在部署前面部分中的 MyWeatherHub 应用程序。您可以使用您构建的代码,也可以使用 **complete** 目录中的代码。但是,对于任何 Aspire 应用程序,一般步骤都是相同的。 ## 使用 Visual Studio 部署应用 1. 在解决方案资源管理器中,右键单击 **AppHost** 项目并选择 **发布** 以打开 **发布** 对话框。 - > 发布 .NET Aspire 需要当前版本的 `azd` CLI。这应该与 .NET Aspire 工作负载一起安装,但如果您收到 CLI 未安装或不是最新版本的通知,可以按照本教程下一部分的说明进行安装。 + > 发布 Aspire 需要当前版本的 `azd` CLI。这应该与 Aspire 工作负载一起安装,但如果您收到 CLI 未安装或不是最新版本的通知,可以按照本教程下一部分的说明进行安装。 -1. 选择 **Azure Container Apps for .NET Aspire** 作为发布目标。 +1. 选择 **Azure Container Apps for Aspire** 作为发布目标。 ![发布对话框工作流的屏幕截图。](../media/vs-deploy.png) @@ -55,7 +55,7 @@ aspire deploy > - 确保您已登录:运行 `azd login` 并选择正确的 Azure 订阅。 > - 从包含 AppHost 的文件夹运行以下命令(对于此存储库,如果您要部署完成的示例,通常是 `complete` 文件夹)。 -1. 打开新的终端窗口并 `cd` 到您的 .NET Aspire 项目的根目录。 +1. 打开新的终端窗口并 `cd` 到您的 Aspire 项目的根目录。 1. 执行 `azd init` 命令以使用 `azd` 初始化您的项目,这将检查本地目录结构并确定应用类型。 ```console @@ -80,7 +80,7 @@ aspire deploy 选择模板 ``` -1. 扫描目录后,`azd` 提示您确认它找到了正确的 .NET Aspire _AppHost_ 项目。选择 **确认并继续初始化我的应用** 选项。 +1. 扫描目录后,`azd` 提示您确认它找到了正确的 Aspire _AppHost_ 项目。选择 **确认并继续初始化我的应用** 选项。 ```console 检测到的服务: @@ -95,7 +95,7 @@ aspire deploy 取消并退出 ``` -1. `azd` 显示 .NET Aspire 解决方案中的每个项目,并提示您识别要部署的项目,这些项目的 HTTP 入口向所有互联网流量公开。仅选择 `myweatherhub`(使用 ↓ 和空格键),因为您希望 API (`api`) 对 Azure Container Apps 环境保持私有且不公开可用。 +1. `azd` 显示 Aspire 解决方案中的每个项目,并提示您识别要部署的项目,这些项目的 HTTP 入口向所有互联网流量公开。仅选择 `myweatherhub`(使用 ↓ 和空格键),因为您希望 API (`api`) 对 Azure Container Apps 环境保持私有且不公开可用。 ```console ? 选择一个选项 确认并继续初始化我的应用 @@ -119,7 +119,7 @@ aspire deploy `azd` 生成多个文件并将它们放入工作目录。这些文件是: -- _azure.yaml_:描述应用的服务,如 .NET Aspire AppHost 项目,并将它们映射到 Azure 资源。 +- _azure.yaml_:描述应用的服务,如 Aspire AppHost 项目,并将它们映射到 Azure 资源。 - _.azure/config.json_:配置文件,告知 `azd` 当前活动环境是什么。 - _.azure/aspireazddev/.env_:包含特定于环境的覆盖。 - _.azure/aspireazddev/config.json_:配置文件,告知 `azd` 在此环境中哪些服务应该有公共终结点。 diff --git a/workshop/Lesson-09-Deployment/code/Api/Api.csproj b/workshop/Lesson-09-Deployment/code/Api/Api.csproj index 6065ae15..1c59f5a5 100644 --- a/workshop/Lesson-09-Deployment/code/Api/Api.csproj +++ b/workshop/Lesson-09-Deployment/code/Api/Api.csproj @@ -6,7 +6,7 @@ - + diff --git a/workshop/Lesson-09-Deployment/code/Api/Data/NwsManager.cs b/workshop/Lesson-09-Deployment/code/Api/Data/NwsManager.cs index 26cb10b3..dd00df15 100644 --- a/workshop/Lesson-09-Deployment/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-09-Deployment/code/Api/Data/NwsManager.cs @@ -110,7 +110,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-09-Deployment/code/Api/Program.cs b/workshop/Lesson-09-Deployment/code/Api/Program.cs index 5049a989..edc01355 100644 --- a/workshop/Lesson-09-Deployment/code/Api/Program.cs +++ b/workshop/Lesson-09-Deployment/code/Api/Program.cs @@ -24,7 +24,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-09-Deployment/code/AppHost/AppHost.csproj b/workshop/Lesson-09-Deployment/code/AppHost/AppHost.csproj index 56ba9a07..ef1490f2 100644 --- a/workshop/Lesson-09-Deployment/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-09-Deployment/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -9,8 +9,8 @@ - - + + diff --git a/workshop/Lesson-09-Deployment/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-09-Deployment/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-09-Deployment/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-09-Deployment/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-09-Deployment/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-09-Deployment/code/MyWeatherHub/MyWeatherHub.csproj index 82421f31..21b90d29 100644 --- a/workshop/Lesson-09-Deployment/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-09-Deployment/code/MyWeatherHub/MyWeatherHub.csproj @@ -11,7 +11,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/workshop/Lesson-09-Deployment/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-09-Deployment/code/ServiceDefaults/Extensions.cs index 112c1281..b72c8753 100644 --- a/workshop/Lesson-09-Deployment/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-09-Deployment/code/ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-10-Container-Management/code/Api/Api.csproj b/workshop/Lesson-10-Container-Management/code/Api/Api.csproj index 7e2f4de5..10629c50 100644 --- a/workshop/Lesson-10-Container-Management/code/Api/Api.csproj +++ b/workshop/Lesson-10-Container-Management/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-10-Container-Management/code/Api/Data/NwsManager.cs b/workshop/Lesson-10-Container-Management/code/Api/Data/NwsManager.cs index d183e1d3..fd396b17 100644 --- a/workshop/Lesson-10-Container-Management/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-10-Container-Management/code/Api/Data/NwsManager.cs @@ -150,7 +150,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-10-Container-Management/code/Api/Program.cs b/workshop/Lesson-10-Container-Management/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-10-Container-Management/code/Api/Program.cs +++ b/workshop/Lesson-10-Container-Management/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-10-Container-Management/code/AppHost/AppHost.csproj b/workshop/Lesson-10-Container-Management/code/AppHost/AppHost.csproj index 140031b4..d7de69e3 100644 --- a/workshop/Lesson-10-Container-Management/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-10-Container-Management/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -8,8 +8,8 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - + + diff --git a/workshop/Lesson-10-Container-Management/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-10-Container-Management/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-10-Container-Management/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-10-Container-Management/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-10-Container-Management/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-10-Container-Management/code/MyWeatherHub/MyWeatherHub.csproj index b94ff800..a29ee747 100644 --- a/workshop/Lesson-10-Container-Management/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-10-Container-Management/code/MyWeatherHub/MyWeatherHub.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-10-Container-Management/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-10-Container-Management/code/ServiceDefaults/Extensions.cs index 24462701..15cc803a 100644 --- a/workshop/Lesson-10-Container-Management/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-10-Container-Management/code/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-11-Azure-Integrations/code/Api/Api.csproj b/workshop/Lesson-11-Azure-Integrations/code/Api/Api.csproj index 7e2f4de5..10629c50 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/Api/Api.csproj +++ b/workshop/Lesson-11-Azure-Integrations/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-11-Azure-Integrations/code/Api/Data/NwsManager.cs b/workshop/Lesson-11-Azure-Integrations/code/Api/Data/NwsManager.cs index d183e1d3..fd396b17 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-11-Azure-Integrations/code/Api/Data/NwsManager.cs @@ -150,7 +150,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-11-Azure-Integrations/code/Api/Program.cs b/workshop/Lesson-11-Azure-Integrations/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/Api/Program.cs +++ b/workshop/Lesson-11-Azure-Integrations/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-11-Azure-Integrations/code/AppHost/AppHost.csproj b/workshop/Lesson-11-Azure-Integrations/code/AppHost/AppHost.csproj index 140031b4..d7de69e3 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-11-Azure-Integrations/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -8,8 +8,8 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - + + diff --git a/workshop/Lesson-11-Azure-Integrations/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-11-Azure-Integrations/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-11-Azure-Integrations/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-11-Azure-Integrations/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-11-Azure-Integrations/code/MyWeatherHub/MyWeatherHub.csproj index 6205bb86..4ef0a525 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-11-Azure-Integrations/code/MyWeatherHub/MyWeatherHub.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-11-Azure-Integrations/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-11-Azure-Integrations/code/ServiceDefaults/Extensions.cs index 24462701..15cc803a 100644 --- a/workshop/Lesson-11-Azure-Integrations/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-11-Azure-Integrations/code/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-12-Custom-Commands/code/Api/Api.csproj b/workshop/Lesson-12-Custom-Commands/code/Api/Api.csproj index 6797e33a..7a240078 100644 --- a/workshop/Lesson-12-Custom-Commands/code/Api/Api.csproj +++ b/workshop/Lesson-12-Custom-Commands/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-12-Custom-Commands/code/Api/Data/NwsManager.cs b/workshop/Lesson-12-Custom-Commands/code/Api/Data/NwsManager.cs index d183e1d3..fd396b17 100644 --- a/workshop/Lesson-12-Custom-Commands/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-12-Custom-Commands/code/Api/Data/NwsManager.cs @@ -150,7 +150,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-12-Custom-Commands/code/Api/Program.cs b/workshop/Lesson-12-Custom-Commands/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-12-Custom-Commands/code/Api/Program.cs +++ b/workshop/Lesson-12-Custom-Commands/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-12-Custom-Commands/code/AppHost/AppHost.csproj b/workshop/Lesson-12-Custom-Commands/code/AppHost/AppHost.csproj index 140031b4..d7de69e3 100644 --- a/workshop/Lesson-12-Custom-Commands/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-12-Custom-Commands/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -8,8 +8,8 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - + + diff --git a/workshop/Lesson-12-Custom-Commands/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-12-Custom-Commands/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-12-Custom-Commands/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-12-Custom-Commands/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-12-Custom-Commands/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-12-Custom-Commands/code/MyWeatherHub/MyWeatherHub.csproj index b94ff800..a29ee747 100644 --- a/workshop/Lesson-12-Custom-Commands/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-12-Custom-Commands/code/MyWeatherHub/MyWeatherHub.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-12-Custom-Commands/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-12-Custom-Commands/code/ServiceDefaults/Extensions.cs index 24462701..15cc803a 100644 --- a/workshop/Lesson-12-Custom-Commands/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-12-Custom-Commands/code/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-13-HealthChecks/code/Api/Api.csproj b/workshop/Lesson-13-HealthChecks/code/Api/Api.csproj index 6797e33a..7a240078 100644 --- a/workshop/Lesson-13-HealthChecks/code/Api/Api.csproj +++ b/workshop/Lesson-13-HealthChecks/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-13-HealthChecks/code/Api/Data/NwsManager.cs b/workshop/Lesson-13-HealthChecks/code/Api/Data/NwsManager.cs index d183e1d3..fd396b17 100644 --- a/workshop/Lesson-13-HealthChecks/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-13-HealthChecks/code/Api/Data/NwsManager.cs @@ -150,7 +150,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-13-HealthChecks/code/Api/Program.cs b/workshop/Lesson-13-HealthChecks/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-13-HealthChecks/code/Api/Program.cs +++ b/workshop/Lesson-13-HealthChecks/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-13-HealthChecks/code/AppHost/AppHost.csproj b/workshop/Lesson-13-HealthChecks/code/AppHost/AppHost.csproj index 140031b4..d7de69e3 100644 --- a/workshop/Lesson-13-HealthChecks/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-13-HealthChecks/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -8,8 +8,8 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - + + diff --git a/workshop/Lesson-13-HealthChecks/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-13-HealthChecks/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-13-HealthChecks/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-13-HealthChecks/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-13-HealthChecks/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-13-HealthChecks/code/MyWeatherHub/MyWeatherHub.csproj index 1f4acaf9..a29ee747 100644 --- a/workshop/Lesson-13-HealthChecks/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-13-HealthChecks/code/MyWeatherHub/MyWeatherHub.csproj @@ -5,7 +5,7 @@ enable - + diff --git a/workshop/Lesson-13-HealthChecks/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-13-HealthChecks/code/ServiceDefaults/Extensions.cs index 3b4b0f70..502296b2 100644 --- a/workshop/Lesson-13-HealthChecks/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-13-HealthChecks/code/ServiceDefaults/Extensions.cs @@ -11,7 +11,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Api.csproj b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Api.csproj index 6797e33a..7a240078 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Api.csproj +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Data/NwsManager.cs b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Data/NwsManager.cs index d183e1d3..fd396b17 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Data/NwsManager.cs @@ -150,7 +150,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Program.cs b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Program.cs +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/AppHost/AppHost.csproj b/workshop/Lesson-14-GitHub-Models-Integration/code/AppHost/AppHost.csproj index 979408a8..c6fd694f 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/AppHost/AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -8,9 +8,9 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - - + + + diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-14-GitHub-Models-Integration/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-14-GitHub-Models-Integration/code/MyWeatherHub/MyWeatherHub.csproj index 5fbf7229..0cf81d63 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/MyWeatherHub/MyWeatherHub.csproj @@ -6,7 +6,7 @@ - + diff --git a/workshop/Lesson-14-GitHub-Models-Integration/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-14-GitHub-Models-Integration/code/ServiceDefaults/Extensions.cs index 24462701..15cc803a 100644 --- a/workshop/Lesson-14-GitHub-Models-Integration/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-14-GitHub-Models-Integration/code/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions diff --git a/workshop/Lesson-15-Docker-Integration/README.md b/workshop/Lesson-15-Docker-Integration/README.md index 01a61a26..8797dd78 100644 --- a/workshop/Lesson-15-Docker-Integration/README.md +++ b/workshop/Lesson-15-Docker-Integration/README.md @@ -1,12 +1,12 @@ -# Docker Integration with .NET Aspire +# Docker Integration with Aspire ## Introduction -.NET Aspire provides excellent support for integrating Docker containers directly into your application hosting model. This allows you to include third-party services, tools, and applications as part of your distributed application architecture. In this module, we'll integrate IT-Tools, a collection of handy online developer tools, into our Weather Hub application using Docker containers. +Aspire provides excellent support for integrating Docker containers directly into your application hosting model. This allows you to include third-party services, tools, and applications as part of your distributed application architecture. In this module, we'll integrate IT-Tools, a collection of handy online developer tools, into our Weather Hub application using Docker containers. ## 🐳 What is Docker Integration in Aspire? -Docker integration in .NET Aspire allows you to: +Docker integration in Aspire allows you to: - **Add containerized services** to your application orchestration - **Manage container lifecycle** through the Aspire dashboard @@ -23,7 +23,7 @@ Before we begin, here are some useful links to learn more about Docker and conta - **[Docker Hub](https://hub.docker.com/)** - Container image registry - **[IT-Tools GitHub Repository](https://github.com/CorentinTh/it-tools)** - Source code for IT-Tools - **[IT-Tools Live Demo](https://it-tools.tech/)** - Try IT-Tools online -- **[.NET Aspire Container Documentation](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/persist-data-volumes)** - Aspire's container integration guide +- **[Aspire Container Documentation](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/persist-data-volumes)** - Aspire's container integration guide ## 🛠️ What is IT-Tools? @@ -277,7 +277,7 @@ Now that you have Docker integration working: ## Congratulations! 🎉 -You've successfully integrated Docker containers into your .NET Aspire application! You now understand how to: +You've successfully integrated Docker containers into your Aspire application! You now understand how to: - Add third-party services using Docker containers - Configure port mappings and networking diff --git a/workshop/Lesson-15-Docker-Integration/code/Api/Api.csproj b/workshop/Lesson-15-Docker-Integration/code/Api/Api.csproj index bbc14669..15d6c01d 100644 --- a/workshop/Lesson-15-Docker-Integration/code/Api/Api.csproj +++ b/workshop/Lesson-15-Docker-Integration/code/Api/Api.csproj @@ -7,7 +7,7 @@ - + diff --git a/workshop/Lesson-15-Docker-Integration/code/Api/Data/NwsManager.cs b/workshop/Lesson-15-Docker-Integration/code/Api/Data/NwsManager.cs index b1644a0c..97bf0f7b 100644 --- a/workshop/Lesson-15-Docker-Integration/code/Api/Data/NwsManager.cs +++ b/workshop/Lesson-15-Docker-Integration/code/Api/Data/NwsManager.cs @@ -151,7 +151,7 @@ public static IServiceCollection AddNwsManager(this IServiceCollection services) services.AddHttpClient(client => { client.BaseAddress = new Uri("https://weather-api"); - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); services.AddMemoryCache(); diff --git a/workshop/Lesson-15-Docker-Integration/code/Api/Program.cs b/workshop/Lesson-15-Docker-Integration/code/Api/Program.cs index 434cb034..d15f31a2 100644 --- a/workshop/Lesson-15-Docker-Integration/code/Api/Program.cs +++ b/workshop/Lesson-15-Docker-Integration/code/Api/Program.cs @@ -23,7 +23,7 @@ .AddUrlGroup(new Uri("https://api.weather.gov/"), "NWS Weather API", HealthStatus.Unhealthy, configureClient: (services, client) => { - client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - .NET Aspire Demo"); + client.DefaultRequestHeaders.Add("User-Agent", "Microsoft - Aspire Demo"); }); diff --git a/workshop/Lesson-15-Docker-Integration/code/AppHost/AppHost.csproj b/workshop/Lesson-15-Docker-Integration/code/AppHost/AppHost.csproj index 354d604c..440edf87 100644 --- a/workshop/Lesson-15-Docker-Integration/code/AppHost/AppHost.csproj +++ b/workshop/Lesson-15-Docker-Integration/code/AppHost/AppHost.csproj @@ -1,5 +1,5 @@ - + Exe net10.0 @@ -8,10 +8,10 @@ 23eb7bf1-476d-4f58-9d5c-f8369a94f289 - - - - + + + + diff --git a/workshop/Lesson-15-Docker-Integration/code/IntegrationTests/IntegrationTests.csproj b/workshop/Lesson-15-Docker-Integration/code/IntegrationTests/IntegrationTests.csproj index 040c9368..b92bc14f 100644 --- a/workshop/Lesson-15-Docker-Integration/code/IntegrationTests/IntegrationTests.csproj +++ b/workshop/Lesson-15-Docker-Integration/code/IntegrationTests/IntegrationTests.csproj @@ -11,7 +11,7 @@ Exe - + diff --git a/workshop/Lesson-15-Docker-Integration/code/MyWeatherHub/MyWeatherHub.csproj b/workshop/Lesson-15-Docker-Integration/code/MyWeatherHub/MyWeatherHub.csproj index 5fbf7229..0cf81d63 100644 --- a/workshop/Lesson-15-Docker-Integration/code/MyWeatherHub/MyWeatherHub.csproj +++ b/workshop/Lesson-15-Docker-Integration/code/MyWeatherHub/MyWeatherHub.csproj @@ -6,7 +6,7 @@ - + diff --git a/workshop/Lesson-15-Docker-Integration/code/ServiceDefaults/Extensions.cs b/workshop/Lesson-15-Docker-Integration/code/ServiceDefaults/Extensions.cs index 24462701..15cc803a 100644 --- a/workshop/Lesson-15-Docker-Integration/code/ServiceDefaults/Extensions.cs +++ b/workshop/Lesson-15-Docker-Integration/code/ServiceDefaults/Extensions.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions