Compartir vía


Monikers asincrónicos en Internet

Internet requiere nuevos enfoques para el diseño de aplicaciones debido a su acceso lento a la red. Las aplicaciones deben realizar el acceso a la red de forma asincrónica para evitar que se detenga la interfaz de usuario. La clase MFC CAsyncMonikerFile proporciona compatibilidad asincrónica para descargar archivos.

Con monikers asincrónicos, puede ampliar la aplicación COM para descargar de forma asincrónica desde Internet y proporcionar una representación progresiva de objetos grandes, como mapas de bits y objetos VRML. Los monikers asincrónicos permiten descargar una propiedad de control ActiveX o un archivo en Internet sin bloquear la respuesta de la interfaz de usuario.

Ventajas de los monikers asincrónicos

Puede usar monikers asincrónicos para:

  • Descargar código y archivos sin bloqueos.

  • Descargar propiedades en controles ActiveX sin bloqueos.

  • Recibir notificaciones sobre el progreso de la descarga.

  • Realizar un seguimiento del progreso y la información de estado lista.

  • Proporcionar información de estado al usuario sobre el progreso.

  • Permitir al usuario cancelar una descarga en cualquier momento.

Clases MFC para monikers asincrónicos

CAsyncMonikerFile se deriva de CMonikerFile que, a su vez, se deriva de COleStreamFile. Un objeto COleStreamFile representa un flujo de datos; un objeto CMonikerFile usa IMoniker para obtener los datos y un objeto CAsyncMonikerFile hace lo mismo pero de forma asincrónica.

Los monikers asincrónicos se usan principalmente en aplicaciones habilitadas para Internet y controles ActiveX para proporcionar una interfaz de usuario con capacidad de respuesta durante las transferencias de archivos. Un ejemplo excelente es el uso de CDataPathProperty para proporcionar propiedades asincrónicas para los controles ActiveX.

Clases MFC para rutas de acceso de datos en controles ActiveX

Las clases MFC CDataPathProperty y CCachedDataPathProperty implementan propiedades de control ActiveX que se pueden cargar de forma asincrónica. Las propiedades asincrónicas se cargan después de la iniciación sincrónica. Los controles ActiveX asincrónicos invocan repetidamente una devolución de llamada para indicar la disponibilidad de nuevos datos durante un largo proceso de intercambio de propiedades.

La clase CDataPathProperty se deriva de la clase CAsyncMonikerFile. La clase CCachedDataPathProperty se deriva de la clase CDataPathProperty. Para implementar propiedades asincrónicas en los controles ActiveX, derive una clase de CDataPathProperty o CCachedDataPathProperty, e invalide OnDataAvailable y otras notificaciones que desee recibir.

Para descargar un archivo mediante monikers asincrónicos

  1. Declare una clase derivada de CAsyncMonikerFile.

  2. Invalide OnDataAvailable para que se muestren los datos.

  3. Invalide otras funciones miembro, incluidas OnProgress, OnStartBinding y OnStopBinding.

  4. Declare una instancia de esta clase y úsela para abrir direcciones URL.

Para obtener información sobre cómo descargar de forma asincrónica en un control ActiveX, consulte Controles ActiveX en Internet.

Consulte también

Tareas de programación para Internet de MFC
Fundamentos de programación para Internet de MFC