在李维的书中讲到:当ADODataSet.CursorLocation为Client-side时,数据库在客户端内存创建映射表。我想问:在客户端调用IIS服务器上的处理数据的asp程序时,映射表创建载了那里?客户端?IIS服务器?

解决方案 »

  1.   

    IIS 服务器,Web 浏览器只得到 IIS 处理后的结果。
    客户端实际的含义是应用程序。
      

  2.   

    那么,在这种结构下,Client-Side与Server-Side效率上还有太大区别吗?
      

  3.   

    通常情况下,目前的分布式系统体系结构如图1所示。 
    图1 图1表示层通常基于HTML输出,并能够很好地与任何较新的浏览器一起工作。网页是在 Web服务器上使用Active Server Pages (ASP)构建的,并且只有在一些相当特殊的情况下才试图通过COM、动态HTML和XML支持来提供浏览器的实际功能。 关键之处是中间层,其中通常有一层或多层业务对象获取并交换数据来响应用户的输入。这些组件可能需要彼此传递数据,并且在传递数据的过程中,它们需要一种易于使用、功能强大并为所有组件所理解的公用数据格式。
       ADO记录集(表或视图的ADO表示)是一个相当不错的解决方案。 ADO记录集的灵活性足以使你能够毫不费力地定位记录以及使用过滤器和书签。它们还提供排序、自动分页和持久性等功能,并能在与数据源断开时工作。可以在多层之间相当高效地汇集记录集。 不过只有COM对象才能使用ADO记录集。这在COM/DCOM在业务层中占主导地位的同构体系结构中是合适的。但涉及到诸如大型机或Unix平台之类的异构节点时,就会带来很大的不便。 在可编程Web时代需要一种能同时跨越各种平台的操作数据的编程接口,但目前现实中的ADO,特别是记录集,是在Windows 和基于 COM的方案中操纵数据的强有力的工具。随着系统逐渐向完全的Internet互操作性方向演变,它们逐渐丧失了其吸引力。 
      

  4.   

    再问:我创建一个COM并注册,但是ASP无法创建对象,为何...?请指教。谢谢!
      

  5.   

    给你说说我对你的第一个问题的理解,大概意思是:当ADODataSet.CursorLocation为ClientSide时,ADODataSet的查询会一次从服务器检取一定数量的纪录然后缓存在本地的内存中,如果为ServerSide,则
    游标实际由服务器来实现、操作、维护,ADO驱动通过服务器游标API来操作游标(数据视图)
      

  6.   

    同意楼上的说法,但这个’本地内存‘是指IIS还是Client呢?