帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
窗体和功能性的关系与面向对象网络技术
作者:ZDNET 发布时间:2005-03-12 来源:ASPCOOL
     现今的网络技术的发展目标之一就是要达到窗体和功能性的分离
  。六七年之前,这并不是一件难事,浏览器会提交一个浏览网页的请求信息,服务器发出需要的网页后,通过浏览器对其进行解析,选取需要的图像文件,这之后,HTML格式的代码就变成了版面形式或网页内容。现在,几乎所有的网页都有一些功能性的行为包含在里面。
  
  在网络从提供静态的内容到成为一个交互式的应用平台的演变过程中,直到我们有了意大利面条式代码之前,窗体和功能性一直被混合在一起。类似于Java Server Page (JSP)和ASP.NET这样的技术可以消除这种混合,但是一个ASP开发者要使网页实现更高的合成化并可以重复使用,还需要做很多工作。
  
  在纪录中,当窗体和功能性注定要在对象(由于没有更恰当的词汇,我们姑且称其为对象)中结合在一起时,将二者混合起来就并不是一件坏事,而且还要尽可能的依赖于以编译的代码。如果在一个网页中存在并不依赖于其内部对象的一些功能时,将他们放置在一个动态连接库(DLL)之中并通过DLL而不是脚本来调用这些功能。如果你在Microsoft Transaction Server或Component Services中建立这个DLL时,确保Retain In Memory这个选项已经设置,这可以保证对象在需要时可以很快地被调用。 如果你在服务器端使用IIS 5,你就要考虑将include指令(<!-- #include . . . -->)用Server.Execute方法代替。这个方法的性能也许并不如include指令,但是当代码路径没有被执行时他可以避免再次加载网页。要指出的是,include指令首先通过Ssinc.dll ISAPI filter进行处理,而且只有在通过处理所有的include指令而得到一个复合型网页之后,这个网页才会被提交到ASP引擎进行脚本指令处理。而Server.Execute也可以达到同样的效果,他可以在代码指令行没有被执行时,避免出现二次调用网页的现象。
  
  同时,设法将网页的一些内容压缩封装入所谓的"pseudo-controls"之中。你可以使用VBScript (Class. . .End Class)或JavaScript在服务器上建构快速而简易的道具和方法使用对象。你要考虑使用这些对象将一部分内容进行压缩并提供一个针对HTML的解析方法。例如,我们可以假设一个VBScript Class用下面的方法来定义LoginControl,下面的代码将会在网页上输出一个注册对话框:
  
  Dim ctlLogin
  Set ctlLogin = New LoginControl
  If Not ctlLogin.IsLoggedIn Then
  ctlLogin.LoadData Request.Form("Username"),
  Request.Form("Password")
  ctlLogin.ProcessData
  Request.ServerVariables("REQUEST_METHOD")
  End If
  ctlLogin.Render
  Set ctlLogin = Nothing
  
  最后,不要忽视客户机端的脚本指令控制复杂的动态的功能性函数的能力。现在市售的所有主要的浏览器都支持客户机端的JavaScript,但不幸的是,有时不同浏览器的不同执行方式使得他成为一件让人头疼的事,但同时大多数浏览器都给你设置一个将客户机端的JavaScript关闭的选项。尽管如此,只要你仔细考虑到诸多因素,他将成为一个有力的工具。
  
  这些技术将会帮助你更好地在ASP.NET进行面向对象的网络开发工作。他使我们看到在大多数网页中,在保留每个个体部分的功能性的同时,有多少部分的内容可以被压缩并与其他部分相隔离。
  
  

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·ASP.NET可交互式位图窗体设计(9)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(8)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(7)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(6)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(5)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(4)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(3)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(2)  (2005-03-12)
 ·ASP.NET可交互式位图窗体设计(1)  (2005-03-12)
 ·使用反射将业务对象绑定到 ASP.N  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统