Internet 上的异步名字对象
由于应用程序访问网络的速度较慢,因此 Internet 要求采用新方法来设计应用程序。 应用程序应该异步执行网络访问,以避免用户界面出现停滞。 MFC 类 CAsyncMonikerFile 提供了用于下载文件的异步支持。
您可以使用异步名字对象扩展 COM 应用程序,以在 Internet 上异步下载和提供大型对象(例如位图和 VRML 对象)的渐进式呈现。 利用异步名字对象,您可以在 Internet 上下载 ActiveX 控件属性或文件,而无不会阻塞用户界面的响应。
异步名字对象的优点
可使用异步名字对象执行以下操作:
下载代码和文件,而不会发生阻塞。
下载 ActiveX 控件中的属性,而不会发生阻塞。
接收下载进度的通知。
跟踪进度和就绪状态信息。
向用户提供有关进度的状态信息。
允许用户可以随时取消下载。
异步名字对象的 MFC 类
CAsyncMonikerFile 派生自 CMonikerFile,而后者派生自 COleStreamFile。 COleStreamFile
对象表示数据流;CMonikerFile
对象使用 IMoniker
获取数据,而 CAsyncMonikerFile
对象异步获取数据。
异步名字对象主要用在启用 Internet 的应用程序和 ActiveX 控件中,以在文件传输过程中提供具有响应能力的用户界面。 一个典型例子是使用 CDataPathProperty 为 ActiveX 控件提供异步属性。
ActiveX 控件中的数据路径的 MFC 类
MFC 类 CDataPathProperty
和 CCachedDataPathProperty 实现可异步加载的 ActiveX 控件属性。 可以在同步启动之后加载异步属性。 异步的 ActiveX 控件重复调用一个回调,以在长时间的属性交换过程中指示新数据的可用性。
CDataPathProperty
派生自 CAsyncMonikerFile
。 CCachedDataPathProperty
派生自 CDataPathProperty
。 要在 ActiveX 控件中实现异步属性,请从 CDataPathProperty
或 CCachedDataPathProperty
派生类,然后替代 OnDataAvailable 和希望接收的其他通知。
使用异步名字对象下载文件
声明派生自 CAsyncMonikerFile 的类。
替代 OnDataAvailable 来显示数据。
替代其他成员函数,包括 OnProgress、OnStartBinding 和 OnStopBinding。
声明此类的实例并使用它来打开 URL。
有关在 ActiveX 控件中异步下载的详细信息,请参阅 Internet 上的 ActiveX 控件。