다음을 통해 공유


인터넷의 비동기 모니커

인터넷은 느린 네트워크 액세스로 인해 애플리케이션 디자인에 대한 새로운 접근 방식이 필요합니다. 애플리케이션은 사용자 인터페이스가 중단되는 것을 방지하기 위해 네트워크 액세스를 비동기적으로 수행해야 합니다. MFC 클래스 CAsyncMonikerFile 은 파일 다운로드에 대한 비동기 지원을 제공합니다.

비동기 모니커를 사용하면 COM 애플리케이션을 확장하여 인터넷을 통해 비동기적으로 다운로드하고 비트맵 및 VRML 개체와 같은 큰 개체의 점진적 렌더링을 제공할 수 있습니다. 비동기 모니커를 사용하면 사용자 인터페이스의 응답을 차단하지 않고 인터넷의 ActiveX 컨트롤 속성 또는 파일을 다운로드할 수 있습니다.

비동기 모니커의 장점

비동기 모니커를 사용하여 다음을 수행할 수 있습니다.

  • 차단 없이 코드 및 파일을 다운로드합니다.

  • 차단 없이 ActiveX 컨트롤에서 속성을 다운로드합니다.

  • 다운로드 진행률 알림을 받습니다.

  • 진행률 및 준비 상태 정보를 추적합니다.

  • 진행 상황에 대한 상태 정보를 사용자에게 제공합니다.

  • 사용자가 언제든지 다운로드를 취소할 수 있도록 허용합니다.

비동기 모니커에 대한 MFC 클래스

CAsyncMonikerFile은 CMonikerFile에서 파생되며, COleStreamFile에서 파생됩니다. 개체는 COleStreamFile 데이터 CMonikerFile 스트림을 나타내고CAsyncMonikerFile, 개체는 데이터를 가져오는 데 사용하고IMoniker, 개체는 비동기적으로 이 작업을 수행합니다.

비동기 모니커는 주로 인터넷 지원 애플리케이션 및 ActiveX 컨트롤에서 파일 전송 중에 반응형 사용자 인터페이스를 제공하는 데 사용됩니다. 다음은 CDataPathProperty를 사용하여 ActiveX 컨트롤에 대한 비동기 속성을 제공하는 예제입니다.

ActiveX 컨트롤의 데이터 경로에 대한 MFC 클래스

MFC 클래스 및 CDataPathPropertyCCachedDataPathProperty 는 비동기적으로 로드할 수 있는 ActiveX 컨트롤 속성을 구현합니다. 비동기 속성은 동기 시작 후에 로드됩니다. 비동기 ActiveX 컨트롤은 긴 속성 교환 프로세스 중에 새 데이터의 가용성을 나타내기 위해 콜백을 반복적으로 호출합니다.

CDataPathPropertyCAsyncMonikerFile에서 파생됩니다. CCachedDataPathPropertyCDataPathProperty에서 파생됩니다. ActiveX 컨트롤에서 비동기 속성을 구현하려면 클래스를 CDataPathProperty 파생하거나 CCachedDataPathPropertyOnDataAvailable 및 수신하려는 기타 알림을 재정의합니다.

비동기 모니커를 사용하여 파일을 다운로드하려면

  1. CAsyncMonikerFile에서 파생된 클래스를 선언합니다.

  2. OnDataAvailable을 재정의하여 데이터를 표시합니다.

  3. OnProgress, OnStartBinding 및 OnStopBinding을 비롯한 다른 멤버 함수를 재정의합니다.

  4. 이 클래스의 인스턴스를 선언하고 이를 사용하여 URL을 엽니다.

ActiveX 컨트롤에서 비동기적으로 다운로드하는 방법에 대한 자세한 내용은 인터넷의 ActiveX 컨트롤을 참조하세요.

참고 항목

MFC 인터넷 프로그래밍 작업
MFC 인터넷 프로그래밍 기본 사항