Tutoriel : Bien démarrer avec Razor Pages dans ASP.NET Core
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 9 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 9 de cet article.
Important
Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour la version actuelle, consultez la version .NET 9 de cet article.
Par Rick Anderson
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages. Pour une présentation vidéo, consultez Entity Framework Core pour les débutants.
Si vous débutez dans le développement ASP.NET Core et que vous ne savez pas quelle solution d’interface utilisateur web ASP.NET Core convient le mieux à vos besoins, consultez Choisir une interface utilisateur ASP.NET Core.
À la fin de ce tutoriel, vous disposerez d’une application web Razor Pages qui gère une base de données de films.
Prérequis
Préversion de Visual Studio 2022 avec la charge de travail ASP.NET et développement web.
Créer une application web Razor Pages
Ouvrez Visual Studio et sélectionnez Nouveau projet.
Dans la boîte de dialogue Créer un projet, sélectionnez Application web ASP.NET Core (Razor Pages)>Suivant.
Dans la boîte de dialogue Configurer votre nouveau projet, entrez
RazorPagesMovie
pour Nom du projet. Il est important de nommer le projet RazorPagesMovie, en respectant la casse, pour que les espaces de noms correspondent quand vous copiez et collez l’exemple de code.Cliquez sur Suivant.
Dans la boîte de dialogue Informations supplémentaires :
- Sélectionnez .NET 9.0 (préversion).
- Vérifiez que l’option ne pas utiliser les instructions de niveau supérieur est décochée.
Sélectionnez Créer.
Le projet de démarrage suivant est créé :
Pour obtenir d’autres approches pour créer le projet, consultez Créer un projet dans Visual Studio.
Exécuter l'application
Sélectionnez RazorPagesMovie dans l’Explorateur de solutions, puis appuyez sur Ctrl+F5 pour exécuter l’application sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio :
- Exécute l’application, qui lance le serveur Kestrel.
- Lance le navigateur par défaut sur
https://localhost:<port>
, qui affiche l’interface utilisateur des applications.<port>
est le port aléatoire attribué lors de la création de l’application.
Fermez la fenêtre du navigateur.
Examiner les fichiers projet
Les sections suivantes contiennent une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les tutoriels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. _Layout.cshtml
définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les ressources statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appsettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le code suivant :
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();
Les lignes de code suivantes dans ce fichier créent un WebApplicationBuilder
avec des valeurs par défaut préconfigurées, ajoutent la prise en charge de Razor Pages au conteneur d’injection de dépendances (DI) et créent l’application :
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
La page des exceptions de développeur est activée par défaut et fournit des informations utiles sur les exceptions. Les applications de production ne doivent pas être exécutées en mode développement, car la page des exceptions de développeur peut divulguer des informations sensibles.
Le code suivant définit le point de terminaison d’exception sur /Error
et active le protocole HSTS (HTTP Strict Transport Security) lorsque l’application ne s’exécute pas en mode développement :
// 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();
}
Par exemple, le code précédent s’exécute lorsque l’application est en mode production ou test. Pour plus d’informations, consultez Utiliser plusieurs environnements dans ASP.NET Core.
Le code suivant active différents intergiciels :
app.UseHttpsRedirection();
: redirige les requêtes HTTP vers HTTPS.app.UseRouting();
: ajoute la correspondance d’itinéraire au pipeline d’intergiciels. Pour plus d’informations, consultez Routage dans ASP.NET Core.app.UseAuthorization();
: autorise un utilisateur à accéder à des ressources sécurisées. Cette application n’utilise pas l’autorisation. Par conséquent, cette ligne peut être supprimée.app.MapRazorPages();
: configure le routage des points de terminaison pour Razor Pages.app.MapStaticAssets();
: optimise la remise des ressources statiques dans une application, telle que HTML, CSS, images et JavaScript, à servir. Pour plus d’informations, consultez Nouveautés d’ASP.NET Core 9.0.app.Run();
: exécute l’application.
Résolution des problèmes avec l’exemple terminé
Si vous rencontrez un problème que vous ne pouvez pas résoudre, comparez votre code au projet terminé. Afficher ou télécharger le projet terminé (comment télécharger).
Étapes suivantes
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages. Pour une présentation vidéo, consultez Entity Framework Core pour les débutants.
Si vous débutez dans le développement ASP.NET Core et que vous ne savez pas quelle solution d’interface utilisateur web ASP.NET Core convient le mieux à vos besoins, consultez Choisir une interface utilisateur ASP.NET Core.
À la fin de ce tutoriel, vous disposerez d’une application web Razor Pages qui gère une base de données de films.
Prérequis
Visual Studio 2022 avec la charge de travail Développement web et ASP.NET.
Créer une application web Razor Pages
Ouvrez Visual Studio et sélectionnez Nouveau projet.
Dans la boîte de dialogue Créer un projet, sélectionnez Application web ASP.NET Core (Razor Pages)>Suivant.
Dans la boîte de dialogue Configurer votre nouveau projet, entrez
RazorPagesMovie
pour Nom du projet. Il est important de nommer le projet RazorPagesMovie, en respectant la casse, pour que les espaces de noms correspondent quand vous copiez et collez l’exemple de code.Cliquez sur Suivant.
Dans la boîte de dialogue Informations supplémentaires :
- Sélectionnez .NET 8.0 (prise en charge à long terme).
- Vérifiez que l’option ne pas utiliser les instructions de niveau supérieur est décochée.
Sélectionnez Créer.
Le projet de démarrage suivant est créé :
Pour obtenir d’autres approches pour créer le projet, consultez Créer un projet dans Visual Studio.
Exécuter l'application
Sélectionnez RazorPagesMovie dans l’Explorateur de solutions, puis appuyez sur Ctrl+F5 pour exécuter l’application sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio :
- Exécute l’application, qui lance le serveur Kestrel.
- Lance le navigateur par défaut sur
https://localhost:<port>
, qui affiche l’interface utilisateur des applications.<port>
est le port aléatoire attribué lors de la création de l’application.
Fermez la fenêtre du navigateur.
Examiner les fichiers projet
Les sections suivantes contiennent une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les tutoriels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. _Layout.cshtml
définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les ressources statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appsettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le code suivant :
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();
Les lignes de code suivantes dans ce fichier créent un WebApplicationBuilder
avec des valeurs par défaut préconfigurées, ajoutent la prise en charge de Razor Pages au conteneur d’injection de dépendances (DI) et créent l’application :
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
La page des exceptions de développeur est activée par défaut et fournit des informations utiles sur les exceptions. Les applications de production ne doivent pas être exécutées en mode développement, car la page des exceptions de développeur peut divulguer des informations sensibles.
Le code suivant définit le point de terminaison d’exception sur /Error
et active le protocole HSTS (HTTP Strict Transport Security) lorsque l’application ne s’exécute pas en mode développement :
// 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();
}
Par exemple, le code précédent s’exécute lorsque l’application est en mode production ou test. Pour plus d’informations, consultez Utiliser plusieurs environnements dans ASP.NET Core.
Le code suivant active différents intergiciels :
app.UseHttpsRedirection();
: redirige les requêtes HTTP vers HTTPS.app.UseStaticFiles();
: permet de fournir des fichiers statiques, notamment HTML, CSS, images et JavaScript. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.app.UseRouting();
: ajoute la correspondance d’itinéraire au pipeline d’intergiciels. Pour plus d’informations, consultez Routage dans ASP.NET Coreapp.MapRazorPages();
: configure le routage des points de terminaison pour Razor Pages.app.UseAuthorization();
: autorise un utilisateur à accéder à des ressources sécurisées. Cette application n’utilise pas l’autorisation. Par conséquent, cette ligne peut être supprimée.app.Run();
: exécute l’application.
Résolution des problèmes avec l’exemple terminé
Si vous rencontrez un problème que vous ne pouvez pas résoudre, comparez votre code au projet terminé. Afficher ou télécharger le projet terminé (comment télécharger).
Étapes suivantes
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages. Pour une présentation vidéo, consultez Entity Framework Core pour les débutants.
Si vous débutez dans le développement ASP.NET Core et que vous ne savez pas quelle solution d’interface utilisateur web ASP.NET Core convient le mieux à vos besoins, consultez Choisir une interface utilisateur ASP.NET Core.
À la fin de ce tutoriel, vous disposerez d’une application web Razor Pages qui gère une base de données de films.
Prérequis
Visual Studio 2022 avec la charge de travail Développement web et ASP.NET.
Créer une application web Razor Pages
Démarrez Visual Studio et sélectionnez Créer un projet.
Dans la boîte de dialogue Créer un projet, sélectionnez Application web ASP.NET Core>Suivant.
Dans la boîte de dialogue Configurer votre nouveau projet, entrez
RazorPagesMovie
pour Nom du projet. Il est important de nommer le projet RazorPagesMovie, en respectant la casse, pour que les espaces de noms correspondent quand vous copiez et collez l’exemple de code.Cliquez sur Suivant.
Dans la boîte de dialogue Informations supplémentaires :
- Sélectionnez .NET 7.0 (Prise en charge à terme Standard).
- Vérifiez que l’option ne pas utiliser les instructions de niveau supérieur est décochée.
Sélectionnez Créer.
Le projet de démarrage suivant est créé :
Pour obtenir d’autres approches pour créer le projet, consultez Créer un projet dans Visual Studio.
Exécuter l'application
Sélectionnez RazorPagesMovie dans l’Explorateur de solutions, puis appuyez sur Ctrl+F5 pour exécuter l’application sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio :
- Exécute l’application, qui lance le serveur Kestrel.
- Lance le navigateur par défaut sur
https://localhost:<port>
, qui affiche l’interface utilisateur des applications.<port>
est le port aléatoire attribué lors de la création de l’application.
Fermez la fenêtre du navigateur.
Examiner les fichiers projet
Les sections suivantes contiennent une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les tutoriels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. _Layout.cshtml
définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les ressources statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appsettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le code suivant :
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();
Les lignes de code suivantes dans ce fichier créent un WebApplicationBuilder
avec des valeurs par défaut préconfigurées, ajoutent la prise en charge de Razor Pages au conteneur d’injection de dépendances (DI) et créent l’application :
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
La page des exceptions de développeur est activée par défaut et fournit des informations utiles sur les exceptions. Les applications de production ne doivent pas être exécutées en mode développement, car la page des exceptions de développeur peut divulguer des informations sensibles.
Le code suivant définit le point de terminaison d’exception sur /Error
et active le protocole HSTS (HTTP Strict Transport Security) lorsque l’application ne s’exécute pas en mode développement :
// 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();
}
Par exemple, le code précédent s’exécute lorsque l’application est en mode production ou test. Pour plus d’informations, consultez Utiliser plusieurs environnements dans ASP.NET Core.
Le code suivant active différents intergiciels :
app.UseHttpsRedirection();
: redirige les requêtes HTTP vers HTTPS.app.UseStaticFiles();
: permet de fournir des fichiers statiques, notamment HTML, CSS, images et JavaScript. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.app.UseRouting();
: ajoute la correspondance d’itinéraire au pipeline d’intergiciels. Pour plus d’informations, consultez Routage dans ASP.NET Coreapp.MapRazorPages();
: configure le routage des points de terminaison pour Razor Pages.app.UseAuthorization();
: autorise un utilisateur à accéder à des ressources sécurisées. Cette application n’utilise pas l’autorisation. Par conséquent, cette ligne peut être supprimée.app.Run();
: exécute l’application.
Résolution des problèmes avec l’exemple terminé
Si vous rencontrez un problème que vous ne pouvez pas résoudre, comparez votre code au projet terminé. Afficher ou télécharger le projet terminé (comment télécharger).
Étapes suivantes
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages. Pour une présentation vidéo, consultez Entity Framework Core pour les débutants.
Si vous débutez dans le développement ASP.NET Core et que vous ne savez pas quelle solution d’interface utilisateur web ASP.NET Core convient le mieux à vos besoins, consultez Choisir une interface utilisateur ASP.NET Core.
À la fin de la série, vous disposez d’une application qui gère une base de données de films.
Dans ce didacticiel, vous avez effectué les actions suivantes :
- Créer un projet d’application web Razor Pages.
- Exécuter l’application.
- Examiner les fichiers projet.
À la fin de ce tutoriel, vous disposez d’une application web Razor Pages fonctionnelle que vous allez améliorer dans les tutoriels suivants.
Prérequis
- Visual Studio 2022 avec la charge de travail Développement web et ASP.NET.
- SDK .NET 6.0
Créer une application web Razor Pages
Démarrez Visual Studio 2022 et sélectionnez Créer un projet.
Dans la boîte de dialogue Créer un nouveau projet, sélectionnez ASP.NET Core Web App, puis Suivant.
Dans la boîte de dialogue Configurer votre nouveau projet, entrez
RazorPagesMovie
pour Nom du projet. Il est important de nommer le projet RazorPagesMovie, en respectant la casse, pour que les espaces de noms correspondent quand vous copiez et collez l’exemple de code.Cliquez sur Suivant.
Dans la boîte de dialogue Informations supplémentaires, sélectionnez .NET 6.0 (prise en charge à long terme), puis sélectionnez Créer.
Le projet de démarrage suivant est créé :
Exécuter l’application
Sélectionnez RazorPagesMovie dans l’Explorateur de solutions, puis appuyez sur Ctrl+F5 pour l’exécuter sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio :
- Exécute l’application, qui lance le serveur Kestrel.
- Lance le navigateur par défaut sur
https://localhost:5001
, qui affiche l’interface utilisateur des applications.
Examiner les fichiers projet
Les sections suivantes contiennent une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les tutoriels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. Ce fichier définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les ressources statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appsettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le code suivant :
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();
Les lignes de code suivantes dans ce fichier créent un WebApplicationBuilder
avec des valeurs par défaut préconfigurées, ajoutent la prise en charge de Razor Pages au conteneur d’injection de dépendances (DI) et créent l’application :
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
La page des exceptions de développeur est activée par défaut et fournit des informations utiles sur les exceptions. Les applications de production ne doivent pas être exécutées en mode développement, car la page des exceptions de développeur peut divulguer des informations sensibles.
Le code suivant définit le point de terminaison d’exception sur /Error
et active le protocole HSTS (HTTP Strict Transport Security) lorsque l’application ne s’exécute pas en mode développement :
// 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();
}
Par exemple, le code précédent s’exécute lorsque l’application est en mode production ou test. Pour plus d’informations, consultez Utiliser plusieurs environnements dans ASP.NET Core.
Le code suivant active différents intergiciels :
app.UseHttpsRedirection();
: redirige les requêtes HTTP vers HTTPS.app.UseStaticFiles();
: permet de fournir des fichiers statiques, notamment HTML, CSS, images et JavaScript. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.app.UseRouting();
: ajoute la correspondance d’itinéraire au pipeline d’intergiciels. Pour plus d’informations, consultez Routage dans ASP.NET Coreapp.MapRazorPages();
: configure le routage des points de terminaison pour Razor Pages.app.UseAuthorization();
: autorise un utilisateur à accéder à des ressources sécurisées. Cette application n’utilise pas l’autorisation. Par conséquent, cette ligne peut être supprimée.app.Run();
: exécute l’application.
Résolution des problèmes avec l’exemple terminé
Si vous rencontrez un problème que vous ne pouvez pas résoudre, comparez votre code au projet terminé. Afficher ou télécharger le projet terminé (comment télécharger).
Étapes suivantes
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages.
Si vous débutez dans le développement ASP.NET Core et que vous ne savez pas quelle solution d’interface utilisateur web ASP.NET Core convient le mieux à vos besoins, consultez Choisir une interface utilisateur ASP.NET Core.
À la fin de la série, vous disposez d’une application qui gère une base de données de films.
Dans ce didacticiel, vous avez effectué les actions suivantes :
- Créer un projet d’application web Razor Pages.
- Exécuter l’application.
- Examiner les fichiers projet.
À la fin de ce tutoriel, vous disposez d’une application web Razor Pages fonctionnelle que vous allez améliorer dans les tutoriels suivants.
Prérequis
- Visual Studio 2019 version 16.8 ou ultérieure avec la charge de travail Développement ASP.NET et web
- SDK .NET 5.0
Créer une application web Razor Pages
Démarrez Visual Studio et sélectionnez Créer un projet. Pour plus d’informations, consultez Créer un projet dans Visual Studio.
Dans la boîte de dialogue Créer un projet, sélectionnez Application web ASP.NET Core, puis Suivant.
Dans la boîte de dialogue Configurer votre nouveau projet, entrez
RazorPagesMovie
pour Nom du projet. Il est important de nommer le projet RazorPagesMovie, en respectant la casse, pour que les espaces de noms correspondent quand vous copiez et collez l’exemple de code.Sélectionnez Créer.
Dans la boîte de dialogue Créer une nouvelle application web ASP.NET Core, sélectionnez :
- .NET Core et ASP.NET Core 5.0 dans les listes déroulantes.
- Application web.
- Création.
Le projet de démarrage suivant est créé :
Exécuter l’application
Appuyez sur Ctrl+F5 pour exécuter sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio démarre IIS Express et exécute l’application. La barre d’adresses affiche
localhost:port#
au lieu de quelque chose qui ressemble àexample.com
. La raison en est quelocalhost
est le nom d’hôte standard de l’ordinateur local. Localhost traite uniquement les requêtes web de l’ordinateur local. Quand Visual Studio crée un projet web, un port aléatoire est utilisé pour le serveur web.
Examiner les fichiers projet
Voici une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les didacticiels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. Ce fichier définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les ressources statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appsettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le point d’entrée de l’application. Pour plus d’informations, consultez Hôte générique .NET dans ASP.NET Core.
Startup.cs
contient le code qui configure le comportement de l’application. Pour plus d’informations, consultez Start-up de l’application dans ASP.NET Core.
Résolution des problèmes avec l’exemple terminé
Si vous rencontrez un problème que vous ne pouvez pas résoudre, comparez votre code au projet terminé. Afficher ou télécharger le projet terminé (comment télécharger).
Étapes suivantes
C’est le premier d’une série de tutoriels, qui décrit les principes fondamentaux liés à la génération d’une application web de Razor Pages dans ASP.NET Core.
Pour obtenir une présentation plus avancée destinée aux développeurs qui connaissent bien les contrôleurs et les vues, consultez Présentation de Razor Pages.
À la fin de la série, vous disposez d’une application qui gère une base de données de films.
Affichez ou téléchargez un exemple de code (procédure de téléchargement).
Dans ce didacticiel, vous avez effectué les actions suivantes :
- Créer un projet d’application web Razor Pages.
- Exécuter l’application.
- Examiner les fichiers projet.
À la fin de ce tutoriel, vous disposez d’une application web Razor Pages fonctionnelle et générée dans les tutoriels suivants.
Prérequis
- Visual Studio 2019 version 16.4 ou ultérieure avec la charge de travail Développement ASP.NET et web
- Kit SDK .NET Core 3.1
Créer une application web Razor Pages
Dans Visual Studio, dans le menu Fichier, sélectionnez Nouveau>Projet.
Créez une application web ASP.NET Core, puis sélectionnez Suivant.
Nommez le projet RazorPagesMovie. Il est important de nommer le projet RazorPagesMovie pour que les espaces de noms correspondent quand vous copiez et collez du code.
Sélectionnez ASP.NET Core 3.1 dans la liste déroulante, sélectionnez Application web, puis Créer.
Le projet de démarrage suivant est créé :
Exécuter l’application
Appuyez sur Ctrl+F5 pour exécuter sans le débogueur.
Visual Studio affiche la boîte de dialogue suivante lorsqu’un projet n’est pas encore configuré pour utiliser SSL :
Sélectionnez Oui si vous faites confiance au certificat SSL d’IIS Express.
La boîte de dialogue suivante s’affiche :
Sélectionnez Oui si vous acceptez d’approuver le certificat de développement.
Pour plus d’informations sur l’approbation du navigateur Firefox, consultez Erreur de certificat Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio démarre IIS Express et exécute l’application. La barre d’adresses affiche
localhost:port#
au lieu de quelque chose qui ressemble àexample.com
. La raison en est quelocalhost
est le nom d’hôte standard de l’ordinateur local. Localhost traite uniquement les requêtes web de l’ordinateur local. Quand Visual Studio crée un projet web, un port aléatoire est utilisé pour le serveur web.
Examiner les fichiers projet
Voici une vue d’ensemble des principaux dossiers et fichiers projet que vous allez utiliser dans les didacticiels suivants.
Dossier Pages
Contient les pages Razor et les fichiers de prise en charge. Chaque page Razor est une paire de fichiers :
- Fichier
.cshtml
qui a un balisage HTML avec du code C# avec la syntaxe Razor. - Un fichier
.cshtml.cs
qui contient du code C# gérant les événements de page.
Les fichiers de prise en charge ont des noms commençant par un trait de soulignement. Par exemple, le fichier _Layout.cshtml
configure des éléments d’interface utilisateur communs à toutes les pages. Ce fichier définit le menu de navigation en haut de la page et la mention de copyright au bas de la page. Pour plus d’informations, consultez Disposition dans ASP.NET Core.
Dossier racine
Contient les fichiers statiques, comme les fichiers HTML, les fichiers JavaScript et les fichiers CSS. Pour plus d’informations, consultez Fichiers statiques dans ASP.NET Core.
appSettings.json
Contient les données de configuration, comme les chaînes de connexion. Pour plus d’informations, consultez Configuration dans ASP.NET Core.
Program.cs
Contient le point d’entrée pour le programme. Pour plus d’informations, consultez Hôte générique .NET dans ASP.NET Core.
Startup.cs
contient le code qui configure le comportement de l’application. Pour plus d’informations, consultez Start-up de l’application dans ASP.NET Core.