Moniker asincroni in Internet

Internet richiede nuovi approcci alla progettazione dell'applicazione a causa del rallentamento dell'accesso alla rete. Le applicazioni devono eseguire l'accesso alla rete in modo asincrono per evitare di bloccarla. La classe MFC CAsyncMonikerFile fornisce supporto asincrono per il download dei file.

Con moniker asincroni, è possibile estendere l'applicazione COM per scaricare in modo asincrono in Internet e fornire il rendering progressivo di oggetti di grandi dimensioni, ad esempio bitmap e oggetti VRML. I moniker asincroni consentono il download di una proprietà di controllo ActiveX o di un file su Internet senza bloccare la risposta dell'interfaccia utente.

Vantaggi dei moniker asincroni

È possibile usare moniker asincroni per:

  • Scaricare codice e file senza bloccare.

  • Scaricare le proprietà nei controlli ActiveX senza bloccare.

  • Ricevere notifiche sullo stato di avanzamento del download.

  • Tenere traccia dello stato di avanzamento e delle informazioni sullo stato pronto.

  • Fornire informazioni sullo stato all'utente sullo stato di avanzamento.

  • Consentire all'utente di annullare un download in qualsiasi momento.

Classi MFC per moniker asincroni

CAsyncMonikerFile è derivato da CMonikerFile, che a sua volta è derivato da COleStreamFile. Un oggetto rappresenta un flusso di dati. Un COleStreamFile oggetto utilizza un CMonikerFileIMoniker oggetto per ottenere i dati e un CAsyncMonikerFile oggetto lo esegue in modo asincrono.

I moniker asincroni vengono usati principalmente nelle applicazioni abilitate per Internet e nei controlli ActiveX per fornire un'interfaccia utente reattiva durante i trasferimenti di file. Un esempio principale di questo è l'uso di CDataPathProperty per fornire proprietà asincrone per i controlli ActiveX.

Classi MFC per i percorsi dati nei controlli ActiveX

Le classi CDataPathProperty MFC e CCachedDataPathProperty implementano le proprietà del controllo ActiveX che possono essere caricate in modo asincrono. Le proprietà asincrone vengono caricate dopo l'avvio sincrono. I controlli ActiveX asincroni richiamano ripetutamente un callback per indicare la disponibilità di nuovi dati durante un lungo processo di scambio di proprietà.

L'oggetto CDataPathProperty è derivato da CAsyncMonikerFile. L'oggetto CCachedDataPathProperty è derivato da CDataPathProperty. Per implementare proprietà asincrone nei controlli ActiveX, derivare una classe da CDataPathProperty o CCachedDataPathPropertyed eseguire l'override di OnDataAvailable e di altre notifiche che si desidera ricevere.

Per scaricare un file usando moniker asincroni

  1. Dichiarare una classe derivata da CAsyncMonikerFile.

  2. Eseguire l'override di OnDataAvailable per visualizzare i dati.

  3. Eseguire l'override di altre funzioni membro, tra cui OnProgress, OnStartBinding e OnStopBinding.

  4. Dichiarare un'istanza di questa classe e usarla per aprire gli URL.

Per informazioni sul download asincrono in un controllo ActiveX, vedere Controlli ActiveX su Internet.

Vedi anche

Attività di programmazione Internet MFC
Nozioni di base sulla programmazione Internet MFC