手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

优化之路:精简VB中的分段应用程序(上)

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  VB提供了一种新方法来设计应用程序的体系结构,以代替单一的整体执行程序。它包含一个核心前端执行程序,并由许多ActiveX部件来支持。这种方法有以下几个显著优点:

  1.部件可在需要时加载,不需要时卸载。

  2.在Win95或WinNT下,即使应用程序的其他部分为16位部件,跨进程的部件也可以是32位的执行程序。

  3.远程部件可使用网络上其他机器的资源。

  另外,部件可被单独调试并可在其他应用程序里重用。在确定如何使用分段技术来优化应用程序之前,必须估计到能创建的部件类型和怎样适合应用程序。使用VB专业版和企业版,能创建以下三类部件:

  1.跨进程部件

  2.进程内部件

  3.远程部件

  三种类型并不互相排斥,可以在一个应用程序里同时使用这三类部件,但从优化应用程序的观点看,它们又各有极不相同的特性。

  一、跨进程部件是一个可执行程序,它可向其他程序提供服务,像其它的可执行程序一样,启动后,在自己的进程空间有自己的堆栈。因此,当客户使用应用程序提供的对象时,操作将从客户的进程空间转到部件的进程空间。

  与其他类型相比,跨进程部件提供了一些很有价值的特点:

  1.异步操作(“线程”)。

  2.部件不能捕获的错误不会导致调用应用程序崩溃。

  3.可在16位和32位应用程序之间相互操作。

  从优化观点看,第一点和第三点最有意义。因为跨进程部件是一个分离的程序,可以与作为客户端的部件异步操作。它有一个单独的“线程”,与客户程序构成多任务(从技术角度上讲,这不是线程,而是一个分离的进程;但从概念上看,二者等价)。两个程序可相互通讯并共享对象。在应用程序执行一些费时的操作时,异步操作就特别有用。客户可先调用部件执行该项操作,而后继续响应用户。

  即使惯用的16位应用程序或部件在32位系统上运行,也可以不必立即将它们改为32位。若使用跨进程部件将应用程序分段时,则可将16位和32位部件混合在一起并互相协调。这有助于充分利用32位部件特性,并保护在16位部件上的投资。

  考虑它们所有的能力,跨进程部件都有一个明显的缺点:性能。以下几点可显现这些不足:

  1.启动速度慢

  2.跨进程调用的开销大

  跨进程部件是一个由VB创建的执行程序,因此,与应用程序的启动相关的问题也同样存在。当从另一个VB程序中调用在VB中写的跨进程部件时,几乎所有的支持DLL已经被加载,这就大大缩短了启动部件的时间。许多部件比VB应用程序的平均规模还小,它们具有很少或根本没有要加载的窗体,这又进一步缩短了加载时间。然而,跨进程部件启动还是要比进程内部件慢。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!