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 控件。