Vue d'ensemble des pages Web ASP.NET
Mise à jour : novembre 2007
Vous utilisez les pages Web ASP.NET comme interface utilisateur programmable pour votre application Web. Une page Web ASP.NET affiche dans n'importe quel navigateur ou périphérique client les informations destinées à l'utilisateur. Elle implémente la logique de l'application en utilisant le code serveur. Les pages Web ASP.NET sont :
basées sur la technologie Microsoft ASP.NET, dans laquelle le code qui s'exécute dynamiquement sur le serveur génère la sortie de page Web sur le navigateur ou le périphérique client.
Compatibles avec tout navigateur ou périphérique mobile. Une page Web ASP.NET restitue automatiquement le HTML conforme au navigateur pour les fonctionnalités comme les styles, la disposition, etc. Une autre solution consiste à concevoir vos pages Web ASP.NET pour les exécuter sur un navigateur spécifique, comme Microsoft Internet Explorer 6, et tirer parti des fonctionnalités propres au navigateur.
Compatibles avec tout langage pris en charge par le Common Language Runtime de .NET, dont Microsoft Visual Basic, Microsoft Visual C#, Microsoft J# et Microsoft JScript .NET.
Basées sur Microsoft .NET Framework. Elles en fournissent tous les avantages, dont l'environnement managé, la sécurité de type et l'héritage.
Flexibles grâce à la possibilité d'ajouter aux pages Web Forms des contrôles tiers et créés par l'utilisateur.
Composants des pages Web ASP.NET
Dans les pages Web ASP.NET, la programmation de l'interface utilisateur présente deux aspects : le composant visuel et la logique. Si vous avez déjà travaillé avec des outils comme Visual Basic et Visual C++, vous reconnaîtrez cette séparation entre la partie visible d'une page et son code sous-jacent.
L'élément visuel se compose d'un fichier qui contient un balisage statique comme les contrôles serveur HTML et/ou ASP.NET. La page Web ASP.NET fonctionne comme un conteneur pour le texte statique et les contrôles que vous souhaitez afficher.
Le code que vous créez et son interaction avec la page constituent la logique des pages Web ASP.NET. Le code peut résider dans un bloc script DE la page ou dans une classe distincte. Si le code est dans un fichier de classe séparé, ce fichier est connu sous le nom de fichier code-behind. Le code du fichier code-behind peut être écrit en Visual Basic, Visual C#, Visual J# ou JScript .NET. Pour plus d'informations sur la façon dont les pages Web ASP.NET sont construites, consultez Modèle de code des pages Web ASP.NET.
Les pages Web ASP.NET sont compilées dans un fichier .dll. La première fois qu'un utilisateur navigue jusqu'à la page .aspx, ASP.NET génère automatiquement un fichier de classe .NET qui représente la page, puis le compile. Le fichier .dll s'exécute sur le serveur et génère dynamiquement la sortie HTML de votre page. Pour plus d'informations sur la compilation des applications ASP.NET, consultez Vue d'ensemble de la compilation ASP.NET.
Utilité des pages Web ASP.NET
La programmation d'applications Web pose différents défis auxquels un programmeur d'applications clientes ordinaires n'est généralement pas confronté. Vous serez confrontés, entre autres, aux défis suivants :
Implémentation d'une interface utilisateur Web élaborée Il peut être difficile et fastidieux de concevoir et d'implémenter une interface utilisateur à l'aide des fonctionnalités HTML de base, notamment si la page présente une disposition complexe, une quantité importante de contenu dynamique et des objets interactifs complets.
Séparation du client et du serveur Dans une application Web, le client (navigateur) et le serveur sont des programmes différents qui s'exécutent souvent sur des ordinateurs distincts (et même sur des systèmes d'exploitation différents). Par conséquent, les deux moitiés de l'application ne partagent que très peu d'applications ; elles peuvent communiquer, mais n'échangent généralement que de faibles quantités d'informations simples.
Exécution sans état Lorsqu'un serveur Web reçoit une demande pour une page, il recherche la page, la traite, l'envoie au navigateur, puis supprime toutes les informations sur la page. Si l'utilisateur redemande cette même page, le serveur répète toute la séquence en retraitant entièrement la page. En d'autres mots, un serveur n'a aucune mémoire des pages qu'il a traitées – les pages sont sans état. Par conséquent, si une application doit maintenir des informations sur une page, sa nature sans état peut devenir un problème.
Fonctionnalités clientes inconnues Dans de nombreux cas, les applications Web sont accessibles par des utilisateurs employant différents navigateurs. Les navigateurs disposent de fonctionnalités différentes, ce qui complique la création d'une application capable d'être exécutée aussi efficacement sur chacun d'entre eux.
Complications relatives à l'accès aux données Pour une source de données d'une application Web traditionnelle, la lecture et l'écriture peuvent se révéler complexes et gourmandes en ressources.
Complications relatives à l'évolutivité Les applications Web conçues à l'aide de méthodes existantes répondent rarement aux objectifs en matière d'évolutivité, de par le manque de compatibilité entre les divers composants de l'application. Dans le cadre d'un cycle de croissance importante, il s'agit souvent du point défaillant des applications.
Pour les applications Web, il peut être long et fastidieux de relever ces défis. Les pages Web ASP.NET et l'infrastructure des pages ASP.NET abordent ces défis de la manière suivante :
Modèle objet intuitif et cohérent L'infrastructure des pages ASP.NET présente un modèle objet vous permettant de considérer vos formulaires en tant qu'unité et non pas en tant qu'éléments clients et serveur distincts. Dans ce modèle, vous pouvez programmer la page de façon plus intuitive que dans les applications Web traditionnelles ; vous pouvez notamment définir les propriétés des éléments de la page et répondre à des événements. En outre, les contrôles serveur ASP.NET sont une abstraction du contenu physique d'une page HTML et de l'interaction directe entre le navigateur et le serveur. En général, vous pouvez utiliser les contrôles serveur comme des contrôles dans une application cliente, sans avoir à réfléchir à la façon de créer le HTML pour présenter et traiter les contrôles et leur contenu.
Modèle de programmation pilotée par événements Les pages Web ASP.NET offrent aux applications Web le modèle familier d'écriture de gestionnaires d'événements pour les événements se produisant sur le client ou le serveur. L'infrastructure des pages ASP.NET résume ce modèle de sorte que le mécanisme sous-jacent de capture d'un événement sur le client, de transmission de cet événement au serveur et d'appel à la méthode appropriée soit entièrement automatique et invisible à l'implémenteur. Il en résulte une structure de code facile à écrire et claire qui prend en charge le développement piloté par événements.
Gestion des états intuitive L'infrastructure des pages ASP.NET traite automatiquement la tâche de conservation de l'état de votre page et de ses contrôles. De plus, elle vous offre des moyens explicites de conserver l'état des informations spécifiques à l'application. Ceci est effectué sans utilisation intensive des ressources du serveur et l'implémentation peut se faire avec ou sans envoi de cookies au navigateur.
Applications indépendantes du navigateur L'infrastructure des pages ASP.NET permet de créer toute la logique de l'application sur le serveur, évitant ainsi de coder explicitement les différences des navigateurs. Toutefois, elle vous permet encore de tirer parti de fonctionnalités spécifiques au navigateur en écrivant le code côté client pour fournir des performances améliorées et une expérience client plus riche.
Prise en charge du Common Language Runtime du .NET Framework Comme l'infrastructure de page ASP.NET repose sur le .NET Framework, la totalité de l'infrastructure est disponible pour toute application ASP.NET. Vos applications peuvent être écrites dans tout langage compatible avec le runtime. De plus, l'infrastructure d'accès aux données fournie par le .NET Framework, notamment ADO.NET, facilite l'accès aux données.
Performance des serveurs évolutifs .NET Framework L'infrastructure de page ASP.NET vous permet de mettre à l'échelle votre application Web d'un ordinateur avec un processeur seul vers une batterie de serveurs Web et sans modifications complexes apportées à la logique de l'application.