Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Modernize aplicativos ASP.NET Web Forms na AWS - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modernize aplicativos ASP.NET Web Forms na AWS

Criado por Vijai Anand Ramalingam (AWS) e Sreelaxmi Pai (AWS)

Resumo

Esse padrão descreve as etapas para modernizar um aplicativo antigo e monólito do ASP.NET Web Forms, portando-o para o ASP.NET Core na AWS.

A portabilidade de aplicativos ASP.NET Web Forms para o ASP.NET Core ajuda você a aproveitar o desempenho, a redução de custos e o ecossistema robusto do Linux. No entanto, pode ser um esforço manual significativo. Nesse padrão, o aplicativo herdado é modernizado de forma incremental usando uma abordagem em fases e, em seguida, conteinerizado na Nuvem AWS.

Considere um aplicativo monolítico antigo para um carrinho de compras. Vamos supor que ele foi criado como um aplicativo ASP.NET Web Forms e consiste em páginas.aspx com um arquivo code-behind (aspx.cs). O processo de modernização consiste em três etapas:

  1. Divida o monólito em microsserviços usando os padrões de decomposição apropriados. Para obter mais informações, consulte o guia Decomposição de monólitos em microsserviços no site de Recomendações da AWS.

  2. Porte seu aplicativo antigo ASP.NET Web Forms (.NET Framework) para o ASP.NET Core no.NET 5 ou superior. Nesse padrão, você usa o Assistente de Portabilidade para .NET para verificar seu aplicativo ASP.NET Web Forms e identificar incompatibilidades com o ASP.NET Core. Isso reduz o esforço de portabilidade manual.

  3. Redesenvolva a camada de interface do usuário do Web Forms usando o React. Esse padrão não abrange a remodelação da interface do usuário. Para obter instruções, consulte Criar um novo aplicativo React na documentação do React.

  4. Redesenvolva o arquivo code-behind do Web Forms (interface comercial) como uma API web do ASP.NET Core. Esse padrão usa NDepend relatórios para ajudar a identificar os arquivos e dependências necessários.

  5. Atualize projetos compartilhados/comuns, como Business Logic e Data Access, em seu aplicativo herdado para o.NET 5 ou superior usando o Assistente de Portabilidade para .NET. 

  6. Adicione serviços da AWS para complementar seu aplicativo. Por exemplo, você pode usar o Amazon CloudWatch Logs para monitorar, armazenar e acessar os registros do seu aplicativo, e o AWS Systems Manager para armazenar as configurações do seu aplicativo.

  7. Coloque o aplicativo ASP.NET Core modernizado em contêiner. Esse padrão cria um arquivo Docker que tem como destino o Linux no Visual Studio e usa o Docker Desktop para testá-lo localmente. Essa etapa pressupõe que seu aplicativo legado já esteja sendo executado em uma instância local ou no Amazon Elastic Compute Cloud (Amazon EC2) Windows. Para obter mais informações, consulte o padrão Executar um contêiner Docker da API web ASP.NET Core em uma instância do Amazon EC2 Linux.

  8. Implantar o aplicativo ASP.NET core modernizado no Amazon Elastic Container Service (Amazon ECS). Esse padrão não abrange a etapa de implantação. Para obter instruções, consulte o Workshop do Amazon ECS.

nota

Esse padrão não abrange as etapas de desenvolvimento da interface do usuário, modernização do banco de dados ou implantação de contêineres.

Pré-requisitos e limitações

Pré-requisitos

Arquitetura

Modernizando o aplicativo do carrinho de compras

O diagrama a seguir ilustra o processo de modernização de um aplicativo antigo de carrinho de compras ASP.NET.

Modernizando um aplicativo antigo de carrinho de compras

Arquitetura de destino

O diagrama a seguir ilustra a arquitetura do aplicativo de carrinho de compras modernizado na AWS. O ASP.NET Core web APIs é implantado em um cluster Amazon ECS. Os serviços de registro e configuração são fornecidos pela Amazon CloudWatch Logs e pelo AWS Systems Manager.

Arquitetura de destino para o aplicativo ASP.NET Web Forms na AWS

Ferramentas

Serviços da AWS

  • Amazon ECS: o Amazon Elastic Container Service (Amazon ECS) é um serviço de gerenciamento de contêineres altamente escalável e rápido para execução, interrupção e gerenciamento de contêineres em um cluster. Você pode executar tarefas e serviços em uma infraestrutura com tecnologia gerenciada pelo AWS Fargate. Como alternativa, para ter mais controle sobre sua infraestrutura, você pode executar suas tarefas e serviços em um cluster de EC2 instâncias que você gerencia.

  • Amazon CloudWatch Logs — O Amazon CloudWatch Logs centraliza os registros de todos os seus sistemas, aplicativos e serviços da AWS que você usa. Você pode visualizar e monitorar os logs, pesquisá-los em busca de códigos de erro ou padrões específicos, filtrá-los com base em campos específicos ou arquivá-los com segurança para análise futura.

  • AWS Systems Manager ─ O AWS Systems Manager é um serviço da AWS que você pode usar para visualizar e controlar sua infraestrutura na AWS. Usando o console do Systems Manager, você pode visualizar dados operacionais de vários serviços da AWS e automatizar tarefas operacionais nos recursos da AWS. O Systems Manager ajuda você a manter a segurança e a conformidade verificando suas instâncias gerenciadas e gerando relatórios (ou tomando medidas corretivas) sobre quaisquer violações de políticas detectadas.

Ferramentas

  • Visual Studio ou Visual Studio Code — Ferramentas para criar aplicativos.NET APIs, web e outros programas.

  • AWS Toolkit for Visual Studio: uma extensão do Visual Studio que ajuda a desenvolver, depurarem e implantarem aplicações .NET que usam os serviços da AWS.

  • Docker Desktop: uma ferramenta que simplifica a criação e a implantação de aplicativos em contêineres.

  • NDepend— Um analisador que monitora o código.NET em busca de dependências, problemas de qualidade e alterações no código.

  • Assistente de Portabilidade para .NET: uma ferramenta de análise que escaneia o código .NET para identificar incompatibilidades com o.NET Core e estimar o esforço de migração.

Épicos

TarefaDescriçãoHabilidades necessárias

Atualize seu aplicativo herdado do .NET Framework para o .NET 5.

Você pode usar o Assistente de Portabilidade para .NET para converter seu aplicativo herdado ASP.NET Web Forms em .NET 5 ou superior. Siga as instruções na documentação do Assistente de Portabilidade para .NET.

Desenvolvedor de aplicativos

Gere NDepend relatórios.

Ao modernizar seu aplicativo ASP.NET Web Forms decompondo-o em microsserviços, talvez você não precise de todos os arquivos.cs do aplicativo herdado. Você pode usar NDepend para gerar um relatório para qualquer arquivo code-behind (.cs), para obter todos os chamadores e chamadores. Esse relatório ajuda você a identificar e usar somente os arquivos necessários em seus microsserviços.

Depois de instalar NDepend (consulte a seção Pré-requisitos), abra a solução (arquivo.sln) para seu aplicativo legado no Visual Studio e siga estas etapas:

  1. Crie o aplicativo herdado no Visual Studio.

  2. Na barra de menu do Visual Studio NDepend, escolha Anexar novo NDepend projeto à solução VS atual.  

  3. Escolha Analisar conjuntos do .NET

  4. Quando a análise estiver concluída, navegue até o projeto no Solution Explorer. Clique com o botão direito do mouse em qualquer arquivo code-behind (por exemplo,listproducts.aspx.cs) para o qual você deseja gerar o relatório e escolha Mostrar no gráfico de dependências

  5. Na barra de navegação, escolha Chamadores e chamados e, em seguida, escolha Editar consulta de código. 

  6. No painel painel Editar consultas e regras, escolha a seta de download e escolha Exportar para o Excel.

Esse processo gera um relatório para o arquivo code-behind que lista todos os chamadores e chamados. Para obter mais informações sobre o gráfico de dependências, consulte a NDepend documentação.

Desenvolvedor de aplicativos

Criar uma nova solução .NET 5.

Para criar uma nova estrutura do.NET 5 (ou posterior) para sua web ASP.NET Core modernizada: APIs

  1. Abra o Visual Studio.

  2. Crie uma solução nova e vazia.

  3. Crie novos projetos voltados para o.NET 5 (ou superior), com base em seu aplicativo herdado. Para exemplos de projetos antigos e novos para um aplicativo de carrinho de compras, consulte a seção Informações adicionais.

  4. Use o NDepend relatório da etapa anterior para identificar todos os arquivos necessários. Copie esses arquivos do aplicativo que você atualizou anteriormente e adicione-os à nova solução.

  5. Crie a solução e corrija todos os problemas.

Para obter mais informações sobre como criar projetos e soluções, consulte a documentação do Visual Studio.

nota

Ao criar a solução e verificar a funcionalidade, você pode identificar vários arquivos adicionais a serem adicionados à solução, além dos arquivos NDepend identificados.

Desenvolvedor de aplicativos

Porte seu aplicativo herdado para o.NET 5 ou versão posterior

TarefaDescriçãoHabilidades necessárias

Atualize seu aplicativo herdado do .NET Framework para o .NET 5.

Você pode usar o Assistente de Portabilidade para .NET para converter seu aplicativo herdado ASP.NET Web Forms em .NET 5 ou superior. Siga as instruções na documentação do Assistente de Portabilidade para .NET.

Desenvolvedor de aplicativos

Gere NDepend relatórios.

Ao modernizar seu aplicativo ASP.NET Web Forms decompondo-o em microsserviços, talvez você não precise de todos os arquivos.cs do aplicativo herdado. Você pode usar NDepend para gerar um relatório para qualquer arquivo code-behind (.cs), para obter todos os chamadores e chamadores. Esse relatório ajuda você a identificar e usar somente os arquivos necessários em seus microsserviços.

Depois de instalar NDepend (consulte a seção Pré-requisitos), abra a solução (arquivo.sln) para seu aplicativo legado no Visual Studio e siga estas etapas:

  1. Crie o aplicativo herdado no Visual Studio.

  2. Na barra de menu do Visual Studio NDepend, escolha Anexar novo NDepend projeto à solução VS atual.  

  3. Escolha Analisar conjuntos do .NET

  4. Quando a análise estiver concluída, navegue até o projeto no Solution Explorer. Clique com o botão direito do mouse em qualquer arquivo code-behind (por exemplo,listproducts.aspx.cs) para o qual você deseja gerar o relatório e escolha Mostrar no gráfico de dependências

  5. Na barra de navegação, escolha Chamadores e chamados e, em seguida, escolha Editar consulta de código. 

  6. No painel painel Editar consultas e regras, escolha a seta de download e escolha Exportar para o Excel.

Esse processo gera um relatório para o arquivo code-behind que lista todos os chamadores e chamados. Para obter mais informações sobre o gráfico de dependências, consulte a NDepend documentação.

Desenvolvedor de aplicativos

Criar uma nova solução .NET 5.

Para criar uma nova estrutura do.NET 5 (ou posterior) para sua web ASP.NET Core modernizada: APIs

  1. Abra o Visual Studio.

  2. Crie uma solução nova e vazia.

  3. Crie novos projetos voltados para o.NET 5 (ou superior), com base em seu aplicativo herdado. Para exemplos de projetos antigos e novos para um aplicativo de carrinho de compras, consulte a seção Informações adicionais.

  4. Use o NDepend relatório da etapa anterior para identificar todos os arquivos necessários. Copie esses arquivos do aplicativo que você atualizou anteriormente e adicione-os à nova solução.

  5. Crie a solução e corrija todos os problemas.

Para obter mais informações sobre como criar projetos e soluções, consulte a documentação do Visual Studio.

nota

Ao criar a solução e verificar a funcionalidade, você pode identificar vários arquivos adicionais a serem adicionados à solução, além dos arquivos NDepend identificados.

Desenvolvedor de aplicativos
TarefaDescriçãoHabilidades necessárias

Implemente a web APIs com o ASP.NET Core.

Vamos supor que um dos microsserviços que você identificou em seu aplicativo antigo de carrinho de compras monolítico seja Produtos. Você criou um novo projeto de API web do ASP.NET Core para Produtos no épico anterior. Nesta etapa, você identifica e moderniza todos os formulários da web (páginas .aspx) relacionados aos Produtos. Vamos supor que os Produtos consistam em quatro formulários da web, conforme ilustrado anteriormente na seção Arquitetura:

  • Listar produtos

  • Visualizar produto

  • Adicionar/Editar produto

  • Excluir produto

Você deve analisar cada formulário da web, identificar todas as solicitações enviadas ao banco de dados para realizar alguma lógica e obter respostas. Você pode implementar cada solicitação como um endpoint de API da web. Com base em seus formulários na web, os Produtos podem ter os seguintes endpoints possíveis:

  • /api/products

  • /api/products/{id}

  • /api/products/add

  • /api/products/update/{id}

  • /api/products/delete/{id}

Conforme mencionado anteriormente, você também pode reutilizar todos os outros projetos que você atualizou para o .NET 5, incluindo Business Logic, Data Access e projetos compartilhados/comuns.

Desenvolvedor de aplicativos

Configure o Amazon CloudWatch Logs.

Você pode usar o Amazon CloudWatch Logs para monitorar, armazenar e acessar os registros do seu aplicativo. Você pode registrar dados no Amazon CloudWatch Logs usando um SDK da AWS. Você também pode integrar aplicativos.NET com o CloudWatch Logs usando estruturas de registro do.NET populares NLog, como Log4Net e ASP.NET Core.

Para obter mais informações sobre essa etapa, consulte a postagem no blog Amazon CloudWatch Logs and .NET Logging Frameworks.

Desenvolvedor de aplicativos

Configure a AWS Systems Manager Parameter Store.

Você pode usar o AWS Systems Manager Parameter Store para armazenar configurações do aplicativo, como strings de conexão, separadamente do código do seu aplicativo. O NuGet pacote Amazon.Extensions.Configuration. SystemsManagersimplifica a forma como seu aplicativo carrega essas configurações do AWS Systems Manager Parameter Store no sistema de configuração.NET Core. 

Para obter mais informações sobre essa etapa, consulte a postagem no blog Provedor de configuração do .NET Core para o AWS Systems Manager.

Desenvolvedor de aplicativos

Atualize seu código de aplicativo.

TarefaDescriçãoHabilidades necessárias

Implemente a web APIs com o ASP.NET Core.

Vamos supor que um dos microsserviços que você identificou em seu aplicativo antigo de carrinho de compras monolítico seja Produtos. Você criou um novo projeto de API web do ASP.NET Core para Produtos no épico anterior. Nesta etapa, você identifica e moderniza todos os formulários da web (páginas .aspx) relacionados aos Produtos. Vamos supor que os Produtos consistam em quatro formulários da web, conforme ilustrado anteriormente na seção Arquitetura:

  • Listar produtos

  • Visualizar produto

  • Adicionar/Editar produto

  • Excluir produto

Você deve analisar cada formulário da web, identificar todas as solicitações enviadas ao banco de dados para realizar alguma lógica e obter respostas. Você pode implementar cada solicitação como um endpoint de API da web. Com base em seus formulários na web, os Produtos podem ter os seguintes endpoints possíveis:

  • /api/products

  • /api/products/{id}

  • /api/products/add

  • /api/products/update/{id}

  • /api/products/delete/{id}

Conforme mencionado anteriormente, você também pode reutilizar todos os outros projetos que você atualizou para o .NET 5, incluindo Business Logic, Data Access e projetos compartilhados/comuns.

Desenvolvedor de aplicativos

Configure o Amazon CloudWatch Logs.

Você pode usar o Amazon CloudWatch Logs para monitorar, armazenar e acessar os registros do seu aplicativo. Você pode registrar dados no Amazon CloudWatch Logs usando um SDK da AWS. Você também pode integrar aplicativos.NET com o CloudWatch Logs usando estruturas de registro do.NET populares NLog, como Log4Net e ASP.NET Core.

Para obter mais informações sobre essa etapa, consulte a postagem no blog Amazon CloudWatch Logs and .NET Logging Frameworks.

Desenvolvedor de aplicativos

Configure a AWS Systems Manager Parameter Store.

Você pode usar o AWS Systems Manager Parameter Store para armazenar configurações do aplicativo, como strings de conexão, separadamente do código do seu aplicativo. O NuGet pacote Amazon.Extensions.Configuration. SystemsManagersimplifica a forma como seu aplicativo carrega essas configurações do AWS Systems Manager Parameter Store no sistema de configuração.NET Core. 

Para obter mais informações sobre essa etapa, consulte a postagem no blog Provedor de configuração do .NET Core para o AWS Systems Manager.

Desenvolvedor de aplicativos
TarefaDescriçãoHabilidades necessárias

Use um cookie compartilhado para autenticação.

Modernizar um aplicativo monolítico herdado é um processo iterativo e exige que o monólito e sua versão modernizada coexistam. Você pode usar um cookie compartilhado para obter uma autenticação perfeita entre as duas versões. O aplicativo ASP.NET herdado continua validando as credenciais do usuário e emite o cookie, enquanto o aplicativo ASP.NET Core modernizado valida o cookie. 

Para obter instruções e exemplos de código, consulte o GitHub projeto de amostra.

Desenvolvedor de aplicativos

Adicione autenticação e autorização

TarefaDescriçãoHabilidades necessárias

Use um cookie compartilhado para autenticação.

Modernizar um aplicativo monolítico herdado é um processo iterativo e exige que o monólito e sua versão modernizada coexistam. Você pode usar um cookie compartilhado para obter uma autenticação perfeita entre as duas versões. O aplicativo ASP.NET herdado continua validando as credenciais do usuário e emite o cookie, enquanto o aplicativo ASP.NET Core modernizado valida o cookie. 

Para obter instruções e exemplos de código, consulte o GitHub projeto de amostra.

Desenvolvedor de aplicativos
TarefaDescriçãoHabilidades necessárias

Criar uma imagem do Docker usando o Visual Studio.

Nesta etapa, você cria um arquivo Docker usando a API web do Visual Studio for .NET Core.

  1. Abra o Visual Studio. 

  2. No Solution Explorer, no menu de contexto (clique com o botão direito do mouse) do projeto, escolha Add, Docker Support.

  3. Selecione Linux como o sistema operacional de destino

O Visual Studio cria um arquivo Docker para seu projeto. Para obter um exemplo de arquivo Docker, consulte Visual Studio Container Tools for Docker no site da Microsoft.

Desenvolvedor de aplicativos

Crie e execute o contêiner usando o Docker Desktop.

Agora você pode compilar, criar e executar o contêiner no Docker Desktop.

  1. Abra a janela Command Prompt (Prompt de comando). Navegue até a pasta da solução em que o arquivo Docker está localizado. Execute o seguinte comando para criar a imagem do Docker:

    docker build -t aspnetcorewebapiimage -f Dockerfile .
  2. Execute o comando a seguir para visualizar todas as imagens do Docker:

    docker images
  3. Execute o comando a seguir para criar e executar um contêiner:

    docker run -d -p 8080:80 --name aspnetcorewebapicontainer aspnetcorewebapiimage
  4. Abra o Docker Desktop e escolha Contêineres/Aplicativos. Você pode ver um novo contêiner chamado aspnetcorewebapicontainer running.

Desenvolvedor de aplicativos

Compilar e executar o contêiner localmente

TarefaDescriçãoHabilidades necessárias

Criar uma imagem do Docker usando o Visual Studio.

Nesta etapa, você cria um arquivo Docker usando a API web do Visual Studio for .NET Core.

  1. Abra o Visual Studio. 

  2. No Solution Explorer, no menu de contexto (clique com o botão direito do mouse) do projeto, escolha Add, Docker Support.

  3. Selecione Linux como o sistema operacional de destino

O Visual Studio cria um arquivo Docker para seu projeto. Para obter um exemplo de arquivo Docker, consulte Visual Studio Container Tools for Docker no site da Microsoft.

Desenvolvedor de aplicativos

Crie e execute o contêiner usando o Docker Desktop.

Agora você pode compilar, criar e executar o contêiner no Docker Desktop.

  1. Abra a janela Command Prompt (Prompt de comando). Navegue até a pasta da solução em que o arquivo Docker está localizado. Execute o seguinte comando para criar a imagem do Docker:

    docker build -t aspnetcorewebapiimage -f Dockerfile .
  2. Execute o comando a seguir para visualizar todas as imagens do Docker:

    docker images
  3. Execute o comando a seguir para criar e executar um contêiner:

    docker run -d -p 8080:80 --name aspnetcorewebapicontainer aspnetcorewebapiimage
  4. Abra o Docker Desktop e escolha Contêineres/Aplicativos. Você pode ver um novo contêiner chamado aspnetcorewebapicontainer running.

Desenvolvedor de aplicativos

Recursos relacionados

Mais informações

As tabelas a seguir fornecem exemplos de projetos para um aplicativo antigo de carrinho de compras e os projetos equivalentes em seu aplicativo ASP.NET Core modernizado.

Solução antiga:

Nome do projeto

Modelo de projeto

Estrutura de destino

Interface de negócios

Biblioteca de classes

NET Framework

BusinessLogic

Biblioteca de classes

NET Framework

WebApplication

Aplicativo Web do ASP.NET Framework

NET Framework

UnitTests

NUnit Projeto de teste

NET Framework

Compartilhado ->Comum

Biblioteca de classes

NET Framework

Compartilhado ->Estrutura

Biblioteca de classes

NET Framework

Nova solução:

Nome do projeto

Modelo de projeto

Estrutura de destino

BusinessLogic

Biblioteca de classes

.NET 5.0

<WebAPI>

API Web do ASP.NET Core

.NET 5.0

<WebAPI>. UnitTests

NUnit 3 Projeto de teste

.NET 5.0

Compartilhado ->Comum

Biblioteca de classes

.NET 5.0

Compartilhado ->Estrutura

Biblioteca de classes

.NET 5.0

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.