外文翻译--在.NET上实现大量数据的客户操作 中文版.doc
1在.NET上实现大量数据的客户操作QuMeixiaHaoManlan(SchoolofInformationEngineeringShandongUniversityatWeihai,WeihaiChina,264209PeoplesHospitalofWenshangCounty,JiningChina,272500)qumeixia1108163.com摘要:本文主要讲述了一个在.NET上使用不同的资源来管理大量数据的新方法,以改变传统的从数据库层对逻辑层的分批管理。这个方法为客户提供了有效的操作。在客户机中提高了对大量数据操作的速度。它也将改变B/S架构中以往使用大量数据的造成不便操作。关键字:NETFramework,ADO.NET,ASP.NET一、绪论传统三层架构存在的主要问题是影响了web应用程序的速度。作者发现在不同的站点上都有很多访问大量数据的操作,但是通常每个网站都存在速度慢的问题。所以作者改变传统的从数据库层到逻辑层(web服务器)的处理数据方法,提出了用.NET上不同资源来管理大量数据。使用这个方法浏览器能有效地处理大量的数据,而且提高了大量数据的访问速度。这个方法也将改善传统的三层架构中大量数据的不便之处,同时引领着系统向商业化发展。二、技术介绍(1).NETFramework微软在2000年6月推出了microsoft.NET技术,它将成为IT业的一大重要的革命。.NET是在系统发展中基于XML技术的一个新的平台和服务模型。它不仅是一个运行平台,同时也是一个发展平台。.NET将以往的系统工具API、MFC,ATL进行了一体化,并且封装公共API到Microsoft.NETFramework。.NET结构是用来发展、设计、运行.NET规化的IDE,而且通过.NET平台把公共API提供给所有的用户。.NET结构包括三个核心模型:CLR,类库和ASP.NET。2(2)ASP.NETASP.NET是在原有ASP基础上开发出来的一个新的版本,它不但提供最先进的网络发展平台而且为网络开发者提供了新的灵活、简单的体系结构。ASP.NET被确定为.NETFramework的基础,它提供的"网络应用程序模型"为网络应用程序AML、网络服务带来了更多的方便。ASP.NET包含web表单和服务器控件,WEB表单能带给使用者基于表单的强大功能和美观的页面,但是网络服务器应用程序要通过使用HTTP,XML,SOAP,WSDL技术在不同的网络环境和连接远程设备的情况下来访问远程服务器。ASP.NET应用程序的运行环境如下图1所示:图1ASP.NET应用程序的运行环境(3)ADO.NETADO.NET是旧的ADO技术的下一个版本和一种新的数据通路模型,这种技术提供新的可扩展的数据存取方法,同时也是建立分布式应用程序和共享数据应用程序的API。ADO.NET基于XML,能够保证不管使用者是否安装了XML语法分析器,它都能在不同的平台上操作任何的数据对象。ADO.NET的原理见下图2所示。3图2ASP.NET的原理三、实施ASP.NET和ADO.NET技术是网络发展中的两种主要的技术。这里将告诉我们该如何基于一个站点使用.NETFramework来实现应用程序。(1)在总数据中的对数据表的浏览器方法的改变传统的数据表浏览器在弹出式菜单窗口中被显示,但是如果有很多总数据表记录在这个浏览器方法上会导致UI混乱和记录上运转困难。依照这个问题,用活动层技术来改变数据表的传统浏览器方法。具体实现见图3图3数据表在总列表中的实现(2)种类的新实现传统的类型分类是一种在浏览器层中对整个的数据类型的分类。如果在数据库中有大量的数据,这个方法对客户机有很高的要求。在web服务器的数据库Session对象中分类大量数据.这个方法也结合分类对一个页面进行标记页数显4示,同一时间下载数据,和提高浏览速度。技术实现.NETFramework中的数据表和数据视图。因为数据视图的分类操作,在这里使用了DataViewdv.sort=sort_column+""+sort_type来对所有的数据记录进行操作。在落实之后,又定义一个方法在不同的页中显示整个的数据。(3)标记页数功能的新实现如果存在大量数据而没有标记页数功能,那显示和下载操作会导致对网络和系统更高和更多依赖。依照这个问题,这里提供一个新的模型标记页数来提高系统中浏览的速度问题。通常使用的标记页数模型的本质是:对于在数据库服务器中所有的数据产生新的一致的列,并将所有数据下载到web服务器,按照页数转移被显示的数据。代码如下:skiptTo(intcur)tryDataTabledt=(DataTable)Session"sectionDT";DataViewdv=dt.DefaultView;introwcount=dt.Rows.Count;intpagecount=rowcount/EveryPage+(rowcount%EveryPage=0?0:1),iBeg,iEnd;if(pagecount<cur)cur=pagecount;stringoldcol=Session"sectionsortby".ToStnngQ;stringoldtype=Session"sectionsorttype".ToStringQ;dv.Sort=oldcol+”+oldtype;if(oldtype="asc")iBeg=(cur-1)*EveryPage;iEnd=cur*EveryPage;