Internet 需要新的应用程序设计方法,因为它的网络访问速度缓慢。 应用程序应异步执行网络访问,以避免停止用户界面。 MFC 类 CAsyncMonikerFile 提供下载文件的异步支持。
使用异步标识符,可以扩展 COM 应用程序以异步方式通过互联网下载,并提供对大型对象(如位图和 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 控件。