Monikers asynchrones sur Internet
Internet nécessite de nouvelles approches pour la conception d'applications en raison de la lenteur de son accès réseau. Les applications doivent réaliser un accès réseau asynchrone pour éviter de bloquer l'interface utilisateur. La classe MFC CAsyncMonikerFile fournit une prise en charge asynchrone du téléchargement de fichiers.
Avec des monikers asynchrones, vous pouvez étendre votre application COM pour télécharger de façon asynchrone depuis Internet et pour fournir un rendu progressif des objets volumineux tels que des images bitmap et des objets VRML. Les monikers asynchrones activent une propriété de contrôle ActiveX ou un fichier sur Internet à télécharger sans bloquer la réponse de l'interface utilisateur.
Avantages des monikers asynchrones
Vous pouvez utiliser les monikers asynchrones pour :
Télécharger du code et des fichiers sans blocage.
Télécharger des propriétés dans les contrôles ActiveX sans blocage.
Recevoir des notifications sur la progression du téléchargement.
Obtenir des informations sur la progression et l'état de préparation.
Fournir des informations d'état à l'utilisateur sur la progression.
Autoriser l'utilisateur à annuler un téléchargement à tout moment.
Classes MFC des monikers asynchrones
CAsyncMonikerFile est dérivé de CMonikerFile, qui est à son tour dérivé de COleStreamFile. Un objet COleStreamFile
représente un flux de données ; un objet CMonikerFile
utilise IMoniker
pour obtenir les données, et un objet CAsyncMonikerFile
le fait de façon asynchrone.
Les monikers asynchrones sont utilisés principalement dans les applications Internet et les contrôles ActiveX pour fournir une interface utilisateur réactive pendant les transferts de fichiers. L’utilisation de CDataPathProperty permet de fournir des propriétés asynchrones pour les contrôles ActiveX.
Classes MFC pour les chemins de données dans les contrôles ActiveX
Les classes CDataPathProperty
MFC et CCachedDataPathProperty implémentent les propriétés de contrôle ActiveX qui peuvent être chargées de manière asynchrone. Les propriétés asynchrones sont chargées après le lancement synchrone. Les contrôles ActiveX asynchrones appellent à plusieurs reprises un rappel pour indiquer la disponibilité de nouvelles données au cours d'un long processus d'échange de propriétés.
CDataPathProperty
est dérivé de CAsyncMonikerFile
. CCachedDataPathProperty
est dérivé de CDataPathProperty
. Pour implémenter des propriétés asynchrones dans vos contrôles ActiveX, dérivez une classe ou CDataPathProperty
CCachedDataPathProperty
remplacez OnDataAvailable et d’autres notifications que vous souhaitez recevoir.
Pour télécharger un fichier avec des monikers asynchrones
Déclarez une classe dérivée de CAsyncMonikerFile.
Remplacez OnDataAvailable pour afficher les données.
Remplacez d’autres fonctions membres, notamment OnProgress, OnStartBinding et OnStopBinding.
Déclarez une instance de la classe et utilisez-la pour ouvrir des URL.
Pour plus d’informations sur le téléchargement asynchrone dans un contrôle ActiveX, consultez Contrôles ActiveX sur Internet.
Voir aussi
Tâches de programmation Internet MFC
Notions de base de la programmation Internet MFC