Partager via


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 CDataPathPropertyCCachedDataPathPropertyremplacez OnDataAvailable et d’autres notifications que vous souhaitez recevoir.

Pour télécharger un fichier avec des monikers asynchrones

  1. Déclarez une classe dérivée de CAsyncMonikerFile.

  2. Remplacez OnDataAvailable pour afficher les données.

  3. Remplacez d’autres fonctions membres, notamment OnProgress, OnStartBinding et OnStopBinding.

  4. 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