Partilhar via


Tutorial: introdução ao Razor Pages no ASP.NET Core

Observação

Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão .NET 9 deste artigo.

Aviso

Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, consulte a Política de Suporte do .NET e do .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.

Importante

Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.

Para a versão atual, consulte a versão .NET 9 deste artigo.

Por Rick Anderson

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages. Para obter um vídeo de introdução, consulte Entity Framework Core para iniciantes.

Se não estiver familiarizado com o desenvolvimento de ASP.NET Core e não tiver certeza de qual solução de interface do usuário da Web do ASP.NET Core atenderá melhor às suas necessidades, consulte Escolher uma interface do usuário do ASP.NET Core.

No final deste tutorial, você terá um aplicativo Web do Razor Pages que gerencia um banco de dados de filmes.

Página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  • Inicie o Visual Studio e selecione Novo projeto.

  • Na caixa de diálogo Criar novo projeto, selecione Aplicativo Web ASP.NET Core (Páginas Razor)>Próximo.

  • Na caixa de diálogo Configurar seu novo projeto, insira RazorPagesMovie no Nome do projeto. É importante nomear o projeto RazorPagesMovie, incluindo a correspondência da capitalização, para que os namespaces correspondam quando você copiar e colar o código de exemplo.

  • Selecione Avançar.

  • Na caixa de diálogo Informações adicionais:

    • Selecione .NET 9.0 (Versão prévia).
    • Verifique: Não usar instruções de nível superior está desmarcado.
  • Selecione Criar.

    Informações adicionais

    O seguinte projeto inicial é criado:

    Gerenciador de Soluções

Para obter abordagens alternativas para criar o projeto, confira Criar um novo projeto no Visual Studio.

Executar o aplicativo

Selecione RazorPagesMovie no Gerenciador de soluções e pressione Ctrl+F5 para executar o aplicativo sem o depurador.

O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

Selecione Sim se você confia no certificado SSL do IIS Express.

A seguinte caixa de diálogo é exibida:

Caixa de diálogo de aviso de segurança

Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

Visual Studio:

  • Executa o aplicativo, que inicia o servidor Kestrel.
  • Inicia o navegador padrão em https://localhost:<port>, que exibe a interface do usuário dos aplicativos. <port> é a porta aleatória atribuída quando o aplicativo foi criado.

Feche a janela do navegador.

Examinar os arquivos de projeto

As seções a seguir contém uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. _Layout.cshtml define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém ativos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appsettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o seguinte código:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();

app.UseRouting();

app.UseAuthorization();

app.MapStaticAssets();
app.MapRazorPages();

app.Run();

As seguintes linhas de código neste arquivo criam um WebApplicationBuilder com padrões pré-configurados, adicionam suporte do Razor Pages ao contêiner DI (Injeção de Dependência) e criam o aplicativo:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

A página de exceção do desenvolvedor é habilitada por padrão e fornece informações úteis sobre exceções. Os aplicativos de produção não devem ser executados no modo de desenvolvimento porque a página de exceção do desenvolvedor pode vazar informações confidenciais.

O código a seguir define o ponto de extremidade de exceção como /Error e habilita o Protocolo HSTS (Protocolo de Segurança de Transporte Estrito HTTP) quando o aplicativo não está em execução no modo de desenvolvimento:

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

Por exemplo, o código anterior é executado quando o aplicativo está no modo de produção ou teste. Para obter mais informações, confira Usar vários ambientes no ASP.NET Core.

O código a seguir habilita vários Middleware:

  • app.UseHttpsRedirection();: redireciona solicitações HTTP para HTTPS.
  • app.UseRouting();: adiciona a correspondência de rotas ao pipeline de middleware. Saiba mais em Roteamento no ASP.NET Core.
  • app.UseAuthorization();: autoriza um usuário a acessar recursos seguros. Esse aplicativo não usa autorização, portanto, essa linha pode ser removida.
  • app.MapRazorPages();: configura o roteamento de ponto de extremidade para Razor Pages.
  • app.MapStaticAssets(); : Otimize a entrega de ativos estáticos em um aplicativo, como HTML, CSS, imagens e JavaScript a serem fornecidos. Para obter mais informações, confira Novidades do ASP.NET Core 9.0.
  • app.Run();: executa o aplicativo.

Solução de problemas com o exemplo concluído

Se você encontrar um problema que não possa resolver, compare seu código com o projeto concluído. Exibir ou baixar projeto concluído (como baixar).

Próximas etapas

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages. Para obter um vídeo de introdução, consulte Entity Framework Core para iniciantes.

Se não estiver familiarizado com o desenvolvimento de ASP.NET Core e não tiver certeza de qual solução de interface do usuário da Web do ASP.NET Core atenderá melhor às suas necessidades, consulte Escolher uma interface do usuário do ASP.NET Core.

No final deste tutorial, você terá um aplicativo Web do Razor Pages que gerencia um banco de dados de filmes.

Página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  • Inicie o Visual Studio e selecione Novo projeto.

  • Na caixa de diálogo Criar novo projeto, selecione Aplicativo Web ASP.NET Core (Páginas Razor)>Próximo.

  • Na caixa de diálogo Configurar seu novo projeto, insira RazorPagesMovie no Nome do projeto. É importante nomear o projeto RazorPagesMovie, incluindo a correspondência da capitalização, para que os namespaces correspondam quando você copiar e colar o código de exemplo.

  • Selecione Avançar.

  • Na caixa de diálogo Informações adicionais:

    • Selecione .NET Core 8.0 (suporte de longo prazo).
    • Verifique: Não usar instruções de nível superior está desmarcado.
  • Selecione Criar.

    Informações adicionais

    O seguinte projeto inicial é criado:

    Gerenciador de Soluções

Para obter abordagens alternativas para criar o projeto, confira Criar um novo projeto no Visual Studio.

Executar o aplicativo

Selecione RazorPagesMovie no Gerenciador de soluções e pressione Ctrl+F5 para executar o aplicativo sem o depurador.

O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

Selecione Sim se você confia no certificado SSL do IIS Express.

A seguinte caixa de diálogo é exibida:

Caixa de diálogo de aviso de segurança

Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

Visual Studio:

  • Executa o aplicativo, que inicia o servidor Kestrel.
  • Inicia o navegador padrão em https://localhost:<port>, que exibe a interface do usuário dos aplicativos. <port> é a porta aleatória atribuída quando o aplicativo foi criado.

Feche a janela do navegador.

Examinar os arquivos de projeto

As seções a seguir contém uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. _Layout.cshtml define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém ativos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appsettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o seguinte código:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

As seguintes linhas de código neste arquivo criam um WebApplicationBuilder com padrões pré-configurados, adicionam suporte do Razor Pages ao contêiner DI (Injeção de Dependência) e criam o aplicativo:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

A página de exceção do desenvolvedor é habilitada por padrão e fornece informações úteis sobre exceções. Os aplicativos de produção não devem ser executados no modo de desenvolvimento porque a página de exceção do desenvolvedor pode vazar informações confidenciais.

O código a seguir define o ponto de extremidade de exceção como /Error e habilita o Protocolo HSTS (Protocolo de Segurança de Transporte Estrito HTTP) quando o aplicativo não está em execução no modo de desenvolvimento:

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

Por exemplo, o código anterior é executado quando o aplicativo está no modo de produção ou teste. Para obter mais informações, confira Usar vários ambientes no ASP.NET Core.

O código a seguir habilita vários Middleware:

  • app.UseHttpsRedirection();: redireciona solicitações HTTP para HTTPS.
  • app.UseStaticFiles();: permite que arquivos estáticos, como HTML, CSS, imagens e JavaScript sejam atendidos. Saiba mais em Arquivos estáticos no ASP.NET Core.
  • app.UseRouting();: adiciona a correspondência de rotas ao pipeline de middleware. Saiba mais em Roteamento no ASP.NET Core
  • app.MapRazorPages();: configura o roteamento de ponto de extremidade para Razor Pages.
  • app.UseAuthorization();: autoriza um usuário a acessar recursos seguros. Esse aplicativo não usa autorização, portanto, essa linha pode ser removida.
  • app.Run();: executa o aplicativo.

Solução de problemas com o exemplo concluído

Se você encontrar um problema que não possa resolver, compare seu código com o projeto concluído. Exibir ou baixar projeto concluído (como baixar).

Próximas etapas

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages. Para obter um vídeo de introdução, consulte Entity Framework Core para iniciantes.

Se não estiver familiarizado com o desenvolvimento de ASP.NET Core e não tiver certeza de qual solução de interface do usuário da Web do ASP.NET Core atenderá melhor às suas necessidades, consulte Escolher uma interface do usuário do ASP.NET Core.

No final deste tutorial, você terá um aplicativo Web do Razor Pages que gerencia um banco de dados de filmes.

Página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  • Inicie o Visual Studio e selecione Criar um novo projeto.

  • Na caixa de diálogo Criar novo projeto, selecione Aplicativo Web ASP.NET Core>Avançar.

  • No diálogo Configurar seu novo projeto, insira RazorPagesMovie como Nome do projeto. É importante nomear o projeto RazorPagesMovie, incluindo a correspondência da capitalização, para que os namespaces correspondam quando você copiar e colar o código de exemplo.

  • Selecione Avançar.

  • Na caixa de diálogo Informações adicionais:

    • Selecione .NET 7.0 (Suporte de Prazo Padrão).
    • Verifique: Não usar instruções de nível superior está desmarcado.
  • Selecione Criar.

    Informações adicionais

    O seguinte projeto inicial é criado:

    Gerenciador de Soluções

Para obter abordagens alternativas para criar o projeto, confira Criar um novo projeto no Visual Studio.

Executar o aplicativo

Selecione RazorPagesMovie no Gerenciador de soluções e pressione Ctrl+F5 para executar o aplicativo sem o depurador.

O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

Selecione Sim se você confia no certificado SSL do IIS Express.

A seguinte caixa de diálogo é exibida:

Caixa de diálogo de aviso de segurança

Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

Visual Studio:

  • Executa o aplicativo, que inicia o servidor Kestrel.
  • Inicia o navegador padrão em https://localhost:<port>, que exibe a interface do usuário dos aplicativos. <port> é a porta aleatória atribuída quando o aplicativo foi criado.

Feche a janela do navegador.

Examinar os arquivos de projeto

As seções a seguir contém uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. _Layout.cshtml define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém ativos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appsettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o seguinte código:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

As seguintes linhas de código neste arquivo criam um WebApplicationBuilder com padrões pré-configurados, adicionam suporte do Razor Pages ao contêiner DI (Injeção de Dependência) e criam o aplicativo:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

A página de exceção do desenvolvedor é habilitada por padrão e fornece informações úteis sobre exceções. Os aplicativos de produção não devem ser executados no modo de desenvolvimento porque a página de exceção do desenvolvedor pode vazar informações confidenciais.

O código a seguir define o ponto de extremidade de exceção como /Error e habilita o Protocolo HSTS (Protocolo de Segurança de Transporte Estrito HTTP) quando o aplicativo não está em execução no modo de desenvolvimento:

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

Por exemplo, o código anterior é executado quando o aplicativo está no modo de produção ou teste. Para obter mais informações, confira Usar vários ambientes no ASP.NET Core.

O código a seguir habilita vários Middleware:

  • app.UseHttpsRedirection();: redireciona solicitações HTTP para HTTPS.
  • app.UseStaticFiles();: permite que arquivos estáticos, como HTML, CSS, imagens e JavaScript sejam atendidos. Saiba mais em Arquivos estáticos no ASP.NET Core.
  • app.UseRouting();: adiciona a correspondência de rotas ao pipeline de middleware. Saiba mais em Roteamento no ASP.NET Core
  • app.MapRazorPages();: configura o roteamento de ponto de extremidade para Razor Pages.
  • app.UseAuthorization();: autoriza um usuário a acessar recursos seguros. Esse aplicativo não usa autorização, portanto, essa linha pode ser removida.
  • app.Run();: executa o aplicativo.

Solução de problemas com o exemplo concluído

Se você encontrar um problema que não possa resolver, compare seu código com o projeto concluído. Exibir ou baixar projeto concluído (como baixar).

Próximas etapas

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages. Para obter um vídeo de introdução, consulte Entity Framework Core para iniciantes.

Se não estiver familiarizado com o desenvolvimento de ASP.NET Core e não tiver certeza de qual solução de interface do usuário da Web do ASP.NET Core atenderá melhor às suas necessidades, consulte Escolher uma interface do usuário do ASP.NET Core.

No final da série, você terá um aplicativo que gerencia um banco de dados de filmes.

Neste tutorial, você:

  • Crie um aplicativo Web Razor Pages.
  • Execute o aplicativo.
  • Examinar os arquivos de projeto.

No final deste tutorial, você terá um aplicativo Web em funcionamento do Razor Pages que você irá aprimorar em tutoriais posteriores.

Página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  1. Inicie o Visual Studio 2022 e selecione Criar um novo projeto.

    Criar um projeto na janela de início

  2. Na caixa de diálogo Criar um projeto novo, selecione Aplicativo Web ASP.NET Core e selecione Avançar.

    Criar um aplicativo Web ASP.NET Core

  3. Na caixa de diálogo Configurar seu novo projeto, insira RazorPagesMovie no Nome do projeto. É importante nomear o projeto RazorPagesMovie, incluindo a correspondência da capitalização, para que os namespaces correspondam quando você copiar e colar o código de exemplo.

    Configure seu novo projeto

  4. Selecione Avançar.

  5. No diálogo Informações adicionais, selecione .NET 6.0 (Suporte de longo prazo) e escolha Criar.

    Informações adicionais

O seguinte projeto inicial é criado:

Gerenciador de Soluções

Executar o aplicativo

Selecione RazorPagesMovie no Gerenciador de soluções e pressione Ctrl+F5 para executar sem o depurador.

O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

Selecione Sim se você confia no certificado SSL do IIS Express.

A seguinte caixa de diálogo é exibida:

Caixa de diálogo de aviso de segurança

Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

Visual Studio:

  • Executa o aplicativo, que inicia o servidor Kestrel.
  • Inicia o navegador padrão em https://localhost:5001, que exibe a interface do usuário dos aplicativos.

Examinar os arquivos de projeto

As seções a seguir contém uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. Esse arquivo define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém ativos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appsettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o seguinte código:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

As seguintes linhas de código neste arquivo criam um WebApplicationBuilder com padrões pré-configurados, adicionam suporte do Razor Pages ao contêiner DI (Injeção de Dependência) e criam o aplicativo:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

A página de exceção do desenvolvedor é habilitada por padrão e fornece informações úteis sobre exceções. Os aplicativos de produção não devem ser executados no modo de desenvolvimento porque a página de exceção do desenvolvedor pode vazar informações confidenciais.

O código a seguir define o ponto de extremidade de exceção como /Error e habilita o Protocolo HSTS (Protocolo de Segurança de Transporte Estrito HTTP) quando o aplicativo não está em execução no modo de desenvolvimento:

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

Por exemplo, o código anterior é executado quando o aplicativo está no modo de produção ou teste. Para obter mais informações, confira Usar vários ambientes no ASP.NET Core.

O código a seguir habilita vários Middleware:

  • app.UseHttpsRedirection();: redireciona solicitações HTTP para HTTPS.
  • app.UseStaticFiles();: permite que arquivos estáticos, como HTML, CSS, imagens e JavaScript sejam atendidos. Saiba mais em Arquivos estáticos no ASP.NET Core.
  • app.UseRouting();: adiciona a correspondência de rotas ao pipeline de middleware. Saiba mais em Roteamento no ASP.NET Core
  • app.MapRazorPages();: configura o roteamento de ponto de extremidade para Razor Pages.
  • app.UseAuthorization();: autoriza um usuário a acessar recursos seguros. Esse aplicativo não usa autorização, portanto, essa linha pode ser removida.
  • app.Run();: executa o aplicativo.

Solução de problemas com o exemplo concluído

Se você encontrar um problema que não possa resolver, compare seu código com o projeto concluído. Exibir ou baixar projeto concluído (como baixar).

Próximas etapas

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages.

Se não estiver familiarizado com o desenvolvimento de ASP.NET Core e não tiver certeza de qual solução de interface do usuário da Web do ASP.NET Core atenderá melhor às suas necessidades, consulte Escolher uma interface do usuário do ASP.NET Core.

No final da série, você terá um aplicativo que gerencia um banco de dados de filmes.

Neste tutorial, você:

  • Crie um aplicativo Web Razor Pages.
  • Execute o aplicativo.
  • Examinar os arquivos de projeto.

No final deste tutorial, você terá um aplicativo Web em funcionamento do Razor Pages que você irá aprimorar em tutoriais posteriores.

Página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  1. Inicie o Visual Studio e selecione Criar um novo projeto. Para obter mais informações, confira Criar um projeto no Visual Studio.

    Criar um projeto na janela de início

  2. Na caixa de diálogo Criar novo projeto, selecione Aplicativo Web ASP.NET Core e depois selecione Avançar.

    Criar um aplicativo Web ASP.NET Core

  3. No diálogo Configurar seu novo projeto, insira RazorPagesMovie como Nome do projeto. É importante nomear o projeto RazorPagesMovie, incluindo a correspondência da capitalização, para que os namespaces correspondam quando você copiar e colar o código de exemplo.

  4. Selecione Criar.

    Configurar o projeto

  5. No diálogo Criar um Aplicativo Web ASP.NET Core, selecione:

    1. .NET Core e ASP.NET Core 5.0 nas listas suspensas.
    2. Aplicativo Web.
    3. Criar.

    Selecione aplicativo Web ASP.NET Core

O seguinte projeto inicial é criado:

Gerenciador de Soluções

Executar o aplicativo

  • Pressione Ctrl + F5 para execução sem o depurador.

    O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

    Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

    Selecione Sim se você confia no certificado SSL do IIS Express.

    A seguinte caixa de diálogo é exibida:

    Caixa de diálogo de aviso de segurança

    Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

    Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

    O Visual Studio inicia o IIS Express e executa o aplicativo. A barra de endereços mostra localhost:port# e não algo como example.com. Isso ocorre porque localhost é o nome do host padrão do computador local. Localhost serve somente solicitações da Web do computador local. Quando o Visual Studio cria um projeto Web, uma porta aleatória é usada para o servidor Web.

Examinar os arquivos de projeto

Aqui está uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. Esse arquivo define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém ativos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appsettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o ponto de entrada para o aplicativo. Para saber mais, confira Host Genérico .NET no ASP.NET Core.

Startup.cs

contém código que configura o comportamento do aplicativo. Saiba mais em Inicialização de aplicativos no ASP.NET Core.

Solução de problemas com o exemplo concluído

Se você encontrar um problema que não possa resolver, compare seu código com o projeto concluído. Exibir ou baixar projeto concluído (como baixar).

Próximas etapas

Este é o primeiro tutorial de uma série que ensina as noções básicas da criação de um aplicativo Web do Razor Pages no ASP.NET Core.

Para acessar uma introdução mais avançada destinada para desenvolvedores familiarizados com controladores e exibições, confira Introdução a Razor Pages.

No final da série, você terá um aplicativo que gerencia um banco de dados de filmes.

Exibir ou baixar um código de exemplo (como baixar).

Neste tutorial, você:

  • Crie um aplicativo Web Razor Pages.
  • Execute o aplicativo.
  • Examinar os arquivos de projeto.

No final deste tutorial, você terá um aplicativo Web em funcionamento do Razor Pages que você criará em tutoriais posteriores.

A página Home ou de índice

Pré-requisitos

Criar um aplicativo Web Razor Pages

  • No menu Arquivo do Visual Studio, selecione Novo>Projeto.

  • Crie um aplicativo Web ASP.NET Core e selecione Avançar. Criar o projeto na janela de início

  • Nomeie o projeto RazorPagesMovie. É importante nomear o projeto RazorPagesMovie de modo que os namespaces façam a correspondência quando você copiar e colar o código. Nomear o projeto

  • Selecione ASP.NET Core 3.1 na lista suspensa Aplicativo Web e, em seguida, selecione Criar.

Selecionar Aplicativo Web ASP.NET Core

O seguinte projeto inicial é criado:

Gerenciador de Soluções

Executar o aplicativo

  • Pressione Ctrl + F5 para execução sem o depurador.

    O Visual Studio exibe a seguinte caixa de diálogo quando um projeto ainda não está configurado para usar o SSL:

    Este projeto está configurado para usar SSL. para evitar avisos de SSL no navegador, você pode optar por confiar no certificado autoassinado que o IIS Express gerou. Gostaria de confiar no certificado SSL do IIS Express?

    Selecione Sim se você confia no certificado SSL do IIS Express.

    A seguinte caixa de diálogo é exibida:

    Caixa de diálogo de aviso de segurança

    Selecione Sim se você concordar com confiar no certificado de desenvolvimento.

    Para obter informações sobre como confiar no navegador Firefox, confira Erro de certificado Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

    O Visual Studio inicia o IIS Express e executa o aplicativo. A barra de endereços mostra localhost:port# e não algo como example.com. Isso ocorre porque localhost é o nome do host padrão do computador local. Localhost serve somente solicitações da Web do computador local. Quando o Visual Studio cria um projeto Web, uma porta aleatória é usada para o servidor Web.

Examinar os arquivos de projeto

Aqui está uma visão geral das pastas do projeto principal e os arquivos que você usará para trabalhar em tutoriais posteriores.

Pasta Páginas

Contém as páginas Razor e os arquivos de suporte. Cada página Razor é um par de arquivos:

  • Um arquivo .cshtml que tem marcação HTML com código C# usando a sintaxe Razor.
  • Um arquivo .cshtml.cs que contém o código C# que manipula os eventos de página.

Arquivos de suporte têm nomes que começam com um sublinhado. Por exemplo, o arquivo _Layout.cshtml configura os elementos de interface do usuário comuns a todas as páginas. Esse arquivo define o menu de navegação na parte superior da página e a notificação de direitos autorais na parte inferior da página. Saiba mais em Layout no ASP.NET Core.

Pasta wwwroot

Contém arquivos estáticos, como arquivos HTML, JavaScript e CSS. Saiba mais em Arquivos estáticos no ASP.NET Core.

appSettings.json

Contém dados de configuração, como cadeias de conexão. Para obter mais informações, consulte Configuração no ASP.NET Core.

Module.vb

Contém o ponto de entrada para o programa. Para saber mais, confira Host Genérico .NET no ASP.NET Core.

Startup.cs

contém código que configura o comportamento do aplicativo. Saiba mais em Inicialização de aplicativos no ASP.NET Core.

Próximas etapas