Monikers assíncronos na Internet
Internet requer novas abordagens para a criação do aplicativo devido ao seu acesso à rede lenta. Os aplicativos devem executar o acesso à rede de forma assíncrona para evitar parar a interface do usuário. A classe CAsyncMonikerFile MFC fornece suporte assíncrona para baixar arquivos.
Com apelidos assíncronas, você pode estender o aplicativo de COM baixar de forma assíncrona por meio da Internet e fornecer a renderização progressiva de objetos grandes como bitmaps e objetos de VRML. Apelidos assíncrona habilita uma propriedade do controle ActiveX ou arquivo da web a ser baixado sem bloquear a resposta da interface do usuário.
Vantagens de apelidos assíncronas
Você pode usar apelidos assíncronas:
Código e arquivos de download sem bloqueio.
Propriedades de download em controles ActiveX sem bloqueio.
Receber notificações de andamento de transferência.
Controlar o progresso e informações de estado pronto.
Fornece informações de status ao usuário sobre o progresso.
Permite que o usuário cancele um download a qualquer momento.
Classes de MFC de apelidos assíncronas
CAsyncMonikerFile é derivado de CMonikerFile, que é derivado por sua vez de COleStreamFile. Um objeto de COleStreamFile representa um fluxo de dados; um objeto de CMonikerFile usa IMoniker para obter os dados, e um objeto de CAsyncMonikerFile faz o de forma assíncrona.
Apelidos assíncronas são usadas principalmente em aplicativos e de controles ActiveX habilitados para internet fornecer uma interface do usuário respondendo durante as transferências de arquivo. Um excelente exemplo disso é o uso de CDataPathProperty fornecer propriedades assíncronas para controles ActiveX.
Classes de MFC para caminhos de dados em controles ActiveX
As classes CDataPathProperty e CCachedDataPathProperty MFC implementam as propriedades do controle ActiveX que podem ser carregadas de forma assíncrona. As propriedades assíncronas são carregadas depois da iniciação síncrona. Os controles ActiveX assíncronas ele chama repetidamente um retorno de chamada para indicar a disponibilidade de dados novos durante um processo longo de troca da propriedade.
CDataPathProperty é derivado de CAsyncMonikerFile. CCachedDataPathProperty é derivado de CDataPathProperty. Para implementar propriedades assíncrona em seus controles ActiveX, deve derivar uma classe de CDataPathProperty ou de CCachedDataPathProperty, e substitua OnDataAvailable e outras notificações que você deseja receber.
Para baixar um arquivo usando apelidos assíncronas
Declare uma classe derivada de CAsyncMonikerFile.
Substituição OnDataAvailable para exibir os dados.
Substituir outras funções de membro, incluindo OnProgress, OnStartBinding, e OnStopBinding.
Declare uma instância dessa classe e use para abrir a URL.
Para obter informações sobre como baixar de forma assíncrona em um controle ActiveX, consulte Controles ActiveX na Internet.