Udostępnij za pośrednictwem


Minikery asynchroniczne w Internecie

Internet wymaga nowych metod projektowania aplikacji ze względu na powolny dostęp do sieci. Aplikacje powinny asynchronicznie wykonywać dostęp do sieci, aby uniknąć wstrzymania interfejsu użytkownika. Klasa MFC CAsyncMonikerFile zapewnia asynchroniczną obsługę pobierania plików.

Za pomocą asynchronicznych jednostek monikers można rozszerzyć aplikację COM, aby pobrać asynchronicznie przez Internet i zapewnić progresywne renderowanie dużych obiektów, takich jak mapy bitowe i obiekty VRML. Asynchroniczne elementy monikers umożliwiają pobieranie właściwości kontrolki ActiveX lub pliku w Internecie bez blokowania odpowiedzi interfejsu użytkownika.

Zalety asynchronicznych monikers

Możesz użyć asynchronicznych monikers do:

  • Pobierz kod i pliki bez blokowania.

  • Pobieranie właściwości w kontrolkach ActiveX bez blokowania.

  • Otrzymywanie powiadomień o postępie pobierania.

  • Śledzenie postępu i informacji o stanie gotowości.

  • Podaj użytkownikowi informacje o stanie dotyczące postępu.

  • Zezwalaj użytkownikowi na anulowanie pobierania w dowolnym momencie.

Klasy MFC dla asynchronicznych monikers

Plik CAsyncMonikerFile pochodzi z pliku CMonikerFile, który z kolei pochodzi z pliku COleStreamFile. COleStreamFile Obiekt reprezentuje strumień danych; CMonikerFile obiekt używa IMoniker obiektu do uzyskania danych, a CAsyncMonikerFile obiekt wykonuje to asynchronicznie.

Asynchroniczne elementy monikers są używane głównie w aplikacjach internetowych i kontrolkach ActiveX w celu zapewnienia dynamicznego interfejsu użytkownika podczas transferów plików. Doskonałym przykładem tego jest użycie właściwości CDataPathProperty w celu zapewnienia właściwości asynchronicznych dla kontrolek ActiveX.

Klasy MFC dla ścieżek danych w kontrolkach ActiveX

Klasy CDataPathProperty MFC i CCachedDataPathProperty implementują właściwości kontrolek ActiveX, które można załadować asynchronicznie. Właściwości asynchroniczne są ładowane po synchronicznej inicjacji. Asynchroniczne kontrolki ActiveX wielokrotnie wywołują wywołanie zwrotne, aby wskazać dostępność nowych danych podczas długiego procesu wymiany właściwości.

CDataPathProperty pochodzi z CAsyncMonikerFile. CCachedDataPathProperty pochodzi z CDataPathProperty. Aby zaimplementować właściwości asynchroniczne w kontrolkach ActiveX, utwórz klasę z CDataPathProperty klasy lub CCachedDataPathPropertyi zastąpij wartość OnDataAvailable i inne powiadomienia, które chcesz otrzymywać.

Aby pobrać plik przy użyciu asynchronicznych jednostek monikers

  1. Zadeklaruj klasę pochodną CAsyncMonikerFile.

  2. Zastąpij wartość OnDataAvailable , aby wyświetlić dane.

  3. Przesłaniaj inne funkcje składowe, w tym OnProgress, OnStartBinding i OnStopBinding.

  4. Zadeklaruj wystąpienie tej klasy i użyj go do otwierania adresów URL.

Aby uzyskać informacje na temat pobierania asynchronicznego w kontrolce ActiveX, zobacz Kontrolki ActiveX w Internecie.

Zobacz też

MFC — zadania związane z programowaniem Internetu
MFC — podstawy programowania Internetu