设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

.NET框架与网络服务(下)

来源:网络收集 作者:佚名 时间:2007-04-25 18:58:47



  ■数据访问服务


  几乎所有的网络服务都需要查询和更新永久性数据,不论是以简单文件,还是以相关数据库,或是以其它的存储类型存在。为了提供对数据的访问,服务框架包括ActiveX Data Objects+ (ADO+)类库。如同名字所暗示的那样,ADO+由ADO发展而来。ADO+为基于网络的应用程序和服务提供数据访问服务。图1阐明了ADO+的体系结构,表明任何数据,不论这些数据实际上如何存储的,都以XML或相关数据的格式被操作。


  ADO+定义了那些链接数据仓库、对数据仓库发送命令及从中获取结果的类。这些类由受控数据提供者(managed data provider)实现。ADO+中链接和命令对象看上去和ADO中的是一样的,并且一个名为DataReader的新类提供了通过高性能API流获取结果的能力。DataReader在功能上与ADO的记录集(Recordset)是相似的,但是DataReader被设计用来最小化内存中生成的对象的数量,用以提高性能、避免垃圾积累。在.NET Framework中包含了针对Microsoft SQL Server的受控数据提供者以及可通过OLE DB访问的任何数据仓库。


  ADO+的一个主要创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的数据缓冲区。使用.NET平台的开发人员能够用数据集代替传统ADO中无连接的记录集。


  受控数据提供者为数据仓库和数据集公开的、名为DataSetCommand的接口对象。DataSetCommand使用ADO+链接和命令从数据仓库中提取数据集,并把在数据集中发生的变化解析到数据仓库中。


  就像DataReaders显示了对于相关数据的有效的流访问一样,XmlReaders显示了对XML数据的流访问。开发人员使用DataNavigator可以滚动和编辑内存中的XML文档。DataNavigator在功能上和Document Object Model (DOM)是一样的,但它更有效,并提供了能很好映射关系数据表的对象模板。ADO+为那些希望继续使用DOM作为XML对象模板而不是使用更有效的DataNavigator模板的开发人员提供了一个XMLDocument类。


    


  图1 ADO+体系结构


  ■表单应用模板


  从概念上讲,在服务框架的最上面是两个应用程序模板:Windows表单应用模板和网络应用程序模板。尽管本文把重点放在把Microsft.NET框架用作开发网络服务和网络应用程序的一种途径上,但框架也可用于开发较传统的基于Windows的应用程序(当然,这些应用程序也能使用网络服务)。


  编写Windows客户应用程序的开发人员可使用Win表单应用程序模板以利用Windows丰富的用户接口特点,包括现在的ActiveX控件和Windows 2000的新特点,如透明的、分层的浮动窗口。开发人员会发现Win表单可编程模板和对设计阶段的支持非常直观。


  Win表单利用了Microsft.NET框架 runtime以减少基于Windows的客户应用程序的开销。只要应用程序和组件是用于Win表单应用程序的,那么它们就能被框架安全模板在客户机上安全地执行。


  Microsft.NET框架装配模板简化了应用程序的配制和版本化。应用程序可被配制为使用它们在编译和测试中所用的共享组件,而不是使用恰好在客户机器上安装的随便什么版本的组件,这就提高了应用程序的可靠性,减少了应用程序所支持调用的主要因素:用户接口控件和其它共享组件版本的不兼容性。


  ■网络应用程序模板


  建立在Microsft.NET框架上网络应用程序共享一个通用应用程序模板。包含用于生成在浏览器中观看的网页的网络应用程序和网络服务。下面,笔者将详细介绍Active Server Pages+ (ASP+)的网络应用程序可编程模板,如图2所示。


  ASP+是由活动服务器页面(ASP)发展而来。ASP+利用common language runtime和服务框架网络应用程序提供了一个可靠的、自动化的、可扩展的主机环境。ASP+也受益于common language runtime集成模板,简化了应用程序的配制。另外,它提供简化应用程序开发的服务(如状态管理服务)以及高水平的编程模板(如ASP+网络表单和ASP+网络服务)。


  ASP+的核心是HTTP运行语言,一个高性能的用于处理基于低级结构的HTTP请求的运行语言,而基于的结构与Microsoft Internet Information Services (IIS)所提供的ISAPI结构相似。由图2可知,HTTP运行语言(HTTP runtime)负责处理引入的所有HTTP请求,并对每个请求应用程序的URL进行解析,然后把请求分配到应用程序以进行进一步的处理。HTTP 运行语言是多线程的,并异步处理请求,因此劣质的应用程序代码阻碍不了它对新请求的处理。而且HTTP运行语言假定失败必会发生,因此它通常可以自动地从访问冲突、内存泄漏、死锁等事故中恢复过来。


  ASP+使用基于构件的Microsft .NET框架配制模板,因此它获得了如XCOPY配制、构件并行配制、基于XML配制等优点。ASP+另一个主要优点是,它支持应用程序的实时更新。管理员不必关掉网络服务器,甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会检测到文件变化,并用新的应用程序代码建立一个新的应用程序实例,然后将引入的请求传递到应用程序。当所有被现存的应用程序实例处理的未完成的请求处理完后,该实例就被销毁。

[1] [2]  下一页

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: