Interaction entre contrôle et adaptateur
Mise à jour : novembre 2007
Deux types d'interactions se produisent durant le cycle de vie des contrôles mobiles ASP.NET et de leurs adaptateurs associés : l'interaction entre les contrôles et les adaptateurs de périphérique, et l'interaction entre les pages et les adaptateurs de page.
Contrôles et adaptateurs de périphérique des contrôles
Durant le cycle de vie d'un contrôle mobile, les interactions suivantes se produisent entre un contrôle et son adaptateur de périphérique associé :
ASP.NET vérifie en premier lieu s'il existe une copie de la page dans le cache. Si tel est le cas, la page mise en cache est envoyée au client. Pour plus d'informations sur la mise en cache, consultez la section « Mise en cache de sortie » de la rubrique Méthodes conseillées pour le rendu du writer de texte mobile.
Un contrôle est créé. Lors de la première tentative d'accès à la propriété Adapter du contrôle, un adaptateur de contrôle est sélectionné et une instance de ce dernier est créée, comme indiqué dans la section « Fonctionnement du processus de sélection d'un adaptateur de périphérique » de la rubrique Mappages d'adaptateur.
La propriété Control de l'adaptateur de périphérique du contrôle est définie lorsque l'adaptateur est créé.
Si la page est mise en cache, elle appelle l'adaptateur pour déterminer si la mise en cache doit varier en fonction d'en-têtes supplémentaires éventuels.
La méthode OnInit du contrôle est appelée. L'implémentation de la classe de base MobileControl appelle la méthode OnInit de l'adaptateur de périphérique du contrôle.
L'état d'affichage privé du contrôle est chargé, s'il existe. Si les adaptateurs de périphérique stockent un état spécifique au périphérique pour le contrôle, l'implémentation de la classe de base MobileControl de la méthode LoadPrivateViewState appelle la méthode LoadAdapterState de l'adaptateur de périphérique du contrôle.
La méthode OnLoad du contrôle est appelée. L'implémentation de la classe de base MobileControl appelle la méthode OnLoad de l'adaptateur de périphérique du contrôle.
Si le contrôle implémente l'interface IPostBackEventHandler et qu'il reçoive un événement de publication, la méthode RaisePostBackEvent du contrôle est appelée. Si les événements envoyés au contrôle peuvent varier selon le périphérique cible, l'implémentation du contrôle de cette méthode appelle la méthode HandlePostBackEvent de l'adaptateur de périphérique du contrôle. La méthode HandlePostBackEvent retourne la valeur true ou false, qui indique si l'adaptateur de périphérique a géré l'événement.
L'état d'affichage privé du contrôle est enregistré, le cas échéant. L'implémentation de la classe de base MobileControl de la méthode SavePrivateViewState appelle la méthode SaveAdapterState de l'adaptateur de périphérique du contrôle, au cas où l'adaptateur devrait stocker un état spécifique au périphérique pour le contrôle.
La méthode OnPreRender du contrôle est appelée. L'implémentation de la classe de base MobileControl appelle la méthode OnPreRender de l'adaptateur de périphérique du contrôle.
La méthode Render du contrôle est appelée. L'implémentation de la classe de base MobileControl appelle la méthode Render de l'adaptateur de contrôle.
La méthode OnUnload du contrôle est appelée. L'implémentation de la classe de base MobileControl appelle la méthode OnUnload de l'adaptateur de périphérique du contrôle.
Pages et adaptateurs de page
Bien que la classe MobilePage hérite de la classe Page du .NET Framework au lieu de la classe MobileControl, le comportement lié à l'adaptateur de la classe MobilePage est très semblable à celui de la classe MobileControl.
Dans ASP.NET, les adaptateurs de page mobile tels que ChtmlPageAdapter, HtmlPageAdapter, WmlPageAdapter ou XhtmlPageAdapter, implémentent l'interface IPageAdapter (qui implémente elle-même l'interface IControlAdapter). Par conséquent, le cycle de vie d'un adaptateur de page ressemble en grande partie à celui d'un adaptateur de contrôle. Une page mobile et son adaptateur de périphérique interagissent de manière spécifique à la classe Page ; en outre, ils suivent les étapes ci-dessous durant leur cycle de vie :
ASP.NET crée une page. Lors de la première tentative d'accès à la propriété Adapter de la page, un adaptateur de page est sélectionné et une instance de ce dernier est créée, comme indiqué dans la section « Fonctionnement du processus de sélection d'un adaptateur de périphérique » de la rubrique Mappages d'adaptateur. La propriété Page de l'adaptateur de page est définie lorsque l'adaptateur est créé.
La méthode OnInit de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode OnInit de l'adaptateur de page.
La méthode OnDeviceCustomize de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode OnDeviceCustomize de l'adaptateur de page.
Pour déterminer le mode de publication d'une page, le cas échéant, la classe de base MobilePage appelle la méthode DeterminePostBackMode de l'adaptateur de page. Cette méthode permet d'inspecter et de modifier les variables d'une demande. Cette méthode est également responsable de la traduction des informations enregistrées sur l'état d'affichage dans une variable de formulaire, si ces informations ne s'y trouvent pas déjà.
L'état d'affichage privé de la page est chargé, le cas échéant. La classe de base MobilePage appelle la méthode LoadAdapterState de l'adaptateur de page, au cas où l'adaptateur stockerait un état d'affichage spécifique au périphérique pour la page.
La méthode OnLoad de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode OnLoad de l'adaptateur de page.
L'état d'affichage privé de la page est enregistré, le cas échéant. La classe de base MobilePage appelle la méthode SaveAdapterState de l'adaptateur de page, au cas où l'adaptateur devrait stocker un état d'affichage spécifique au périphérique pour la page.
La classe de base MobilePage appelle la méthode SaveViewState de l'adaptateur de page. Cette méthode a pour finalité de vérifier que l'état passé sous forme de paramètre est sérialisé dans la page écrite.
Lors de la pagination, la classe de base MobilePage accède à la propriété OptimumPageWeight de l'adaptateur de page. L'adaptateur retourne un poids de page approprié au périphérique cible.
La méthode OnPreRender de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode OnPreRender de l'adaptateur de page.
Une instance de writer est créée pour la capture de la sortie de page. La classe de base MobilePage appelle la méthode CreateTextWriter de l'adaptateur de page, qui doit retourner un writer de texte spécifique à la cible.
La méthode Render de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode Render de l'adaptateur de page. À un moment donné du rendu, l'adaptateur est également responsable de l'accès à l'état d'affichage privé de la page, ainsi que de son écriture, par le biais de la propriété ClientViewState de la page.
La méthode OnUnload de la page est appelée. L'implémentation de la classe de base MobilePage appelle la méthode OnUnload de l'adaptateur de page.
Voir aussi
Concepts
Autres ressources
Ajout de nouveaux adaptateurs de périphérique et d'une prise en charge des périphériques