外文翻译-- ASP页面的客户端开发环境.doc_第1页
外文翻译-- ASP页面的客户端开发环境.doc_第2页
外文翻译-- ASP页面的客户端开发环境.doc_第3页
外文翻译-- ASP页面的客户端开发环境.doc_第4页
外文翻译-- ASP页面的客户端开发环境.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP页面的客户端开发环境ASP是直接依靠Microsoft互联网信息服务(IIS)能力的网络技术。为此,非常少的产品尝试提供ASP-to-HTML交换器。伴随着这些交换器的问题是您必须与网络服务器一道工作去触发ASP分析器并发现其内在的可利用对象。当从开发层双击超文字标记语言时,简单地请求浏览器检索和反馈文件的原始代码。然而,当您在开发工具双击一个ASP文件时,您不可能请求浏览器翻译它成HTML。ASP交换器的使用原因ASP对HTML交换器也许不是数以万计程序员梦寐以求的工具。然而,我可以构想出至少两三个这样的情景,这样的工具是非常得心应手的。第一个情景是由罗伯特Hess在2000年4月在网Q&A专栏提及的。假设您在一个频繁地被访问的网站有几个要求与一个数据库交互作用的页面。把他们当作ASP页看起来是非常完美的解答。然而,如果数据库不是非常挥发性,并且页面的输出不依赖用户的输入,您可以很容易地采取简单的老式HTML以达到很好的表现。例如,供应商名单大概是您一年仅仅更新几次的数据。在访问时更新名单,每次发出请求,静态超文字标记语言页都会引起较少的重置吗?ASP-TO-HTML工具能被运用作为ASP页编译器。您编写他们作为服务器端资源,然而,当您认识到他们不依赖特别执行时间的情况时,您可以把他们变换成静态HTML页的二者之一,asp或html版本。当我面对这个课题时,让我指出在一个在ASP页管理中的重大改善在IIS5.0直到IIS4.0都是有效的,所有资源与asp引伸都是受解析支配的,他们是否包含了script代码。在IIS5.0中,当IIS检查时,后退在装载ASP分析器之前被消除。当您需要查看ASP页离线时,ASP-to-HTML交换器也是得心应手的。例如,客户最近询问了我关于使用单一开发环境来建立网站和CDs的可能性。我首先考虑使用能够在网络或在一个地方浏览器查看的静态HTML页,但想法很快驳回了尽管包含了相当数量的内容和复杂性。并且,我的客户不可能保证在用户的机器使用任何特殊的软件配置,并且可能为CDs供应的唯一的产品是MicrosoftInternetExplorer或一台常规浏览器。ASP看似自然选择为项目的服务器端,但对于CD会怎么样呢?要使ASP离线工作,不用网络服务器,您需要提取所有编码块并且处理他们。另外,这个模块将必须提供一个被模仿的ASP对象模型和收集简单的HTML文本的部分。然后它将必须汇集其它全部,结合静态HTML代码与被处理的script输出。在这个专栏,我将谈论离线ASP检测和一些执行细节信息的结构。特别是,我将显示您如何认清ASP反应对象的行为。下个月,我将完成代码,覆盖请求和服务器加上其他相关题目。这个月的代码显示这种方法的潜力并且与典型的ASP页一起使用,虽然它不全面。因为他们的地方背景,没有必要的话我不会报道其他ASP对象例如对话或应用。浏览器的角色要认清ASP,当工作离线时,您需要一点来自浏览器的帮助。基本上,浏览器一定能查出它将登陆的页是否是URL或是地方路径,并且它是否包含asp引伸。如果用户在访问URL,浏览器做他通常能做到的。否则,它将访问一个常用模块来解析ASP文件的内容。此外,浏览器是被包含的,当将访问的ASP页包含表单和超链接时。(我将进一步谈论这个在下个月。)尽管有这些要求,离线处理ASP页您需要浏览器的一个自定义版本。当subclassing的InternetExplorer或NetscapeCommunicator可能的话,我建议您使用现有的浏览器技术写一个全新的浏览器例如微软浏览控制器。在这里我将使用VisualBasic,您也能使用C+。作为一个好的开头在C+,您能尝试MFCIE或ATLBrowser样品,都来自最新的SDK平台。为例证,我划分了客户区域成三个块:一为实际HTML,一个为原始的ASP文本和一个为扩展的HTML文本。在表单的初始化期间,一个新的CAspParser对象被创造并且被适当地设置运作。一旦您点击提交按钮,浏览器查出您是否是ASP页或HTTP,并且相应地做出反映。所有逻辑在CAspParser类里隐藏,展示出的三个公开作用:初始化,SetScriptControl和ParseTextToFile。初始化确定写脚本的环境被适当地初始化并且准备工作。通过SetScriptControl,类接受脚本环境的运作函数(在以后会更多)。ParseTextToFile解析特定ASP文件的内容并且创造输出流。基本上,分析器读ASP文件的整体内容后做记录然后输出。它找出“%”,然后复制在“”。命令文本各自地被提取并且被处理。所有输出被添加到响应缓冲区脚本代码在ASP页的内容中可能涉及到形成ASP对象模型的内在对象。列出这些知名的对象,IIS负责形成这些对象:ASPError和ObjectContext有效的namespace,当分析器处理各种各样的代码块的内容时。要获得在网络服务器之外运作的ASP分析器,您应该为这些对象提供替代品,意味着建立客户端ASP对象模型。客户端ASP对象模型当工作在HTTP时,Web应用程序的其中一个问题是不能有效的维护状态。状态是把多样性和有特殊用户的对象联系在一起的能力。一个存放各自设置和资源的工具可能解决这个问题。这是会话和应用对象提供的,虽然在不同的层次。但您在客户端ASP对象模型中不需要总是体现这个特点。实际上,本地的ASP页一次被一个用户访问,并且状态管理是一个比较不重要问题。来自一个离线ASP检测者,关键ASP对象是请求与反应,因为他们提供基本的功能通过页面与其他地方进行交流。您是否需要实施所有或部分标准方法依赖于你建立的特殊工程。虽然ASP与IIS和微软交易服务(MTS)和COM+环境紧紧集成,这不意味着您不能使用一个成为一体的基于ASP的方法为产品的运行环境提供内容通过不同的媒体(象网络和CDs)。离线页被消耗在没有网络服务器的干预下通常会变的更加简单,并且不需要一个网上Web应用程序的所有特点。凭我的个人经验,我建议您实施一个最小的特性集合(相似于我在这儿的谈论的那些)然后扩大集合,当您的页需要支持额外ASP的特点时。我部署了我的项目的第一个版本的反应和请求对象。特别是,我只执行反应对象的书写方法和为HTML内容类型。请求只体现了QueryString结果集。在第二步,我增加了为反应提供的支持,请求的表单和ServerVariables结果集。以后,我也增加了某种特殊性能例如新的环境变量和新的独自离线对象,包括写Script脚本,FileSystemObject。关键问题有关您怎么模仿反应或请求对象,并且怎么运行ASP文件包含的所有脚本代码。要执行脚本代码,您或者可以利用微软脚本控制一个下载的组分(参见/scripting),或者使用未加工的窗口脚本COM接口。看ExtremeC+专栏,在1997年8月微软互联网开发商发表的.因为我在VisualBasic开发了一种应用,使用脚本控制是自然选择。脚本控制ScriptControl是ActiveX控制没有一个包含为对话需要的有脚本语言分析器的所有Windows脚本接口界面。它有一个语言集合通过他你可以选择一门语言。VBScript和JScript是二个常用的选择,但,假设您有一个复杂的分析器,所有脚本语言都是优良的。当要使用ScriptControl时您需要做三件事:设定语言,增加多个对象,你需要的是scriptnamespace,并且执行脚本代码。在我的特殊编辑浏览器,我设置了语言对于VBScript在表单装载事件期间。同时,我创造我想要的可看见的在脚本引擎运行期间所有对象的函数。命名的项目在运行期间是可见的是保证进一步解释的概念。整体命名项目的建立形成thescriptsnamespace.Windows脚本分析器(例如微软分析器为VBScript)接受已知的名字词汇在起动的时候。这本字典包含语言的主题词和全球性资源例如变量、对象和子程序。在每个名字之后(例如MsgBox)有一可编程序的个体它是一个有具体作用分析器或包含COM对象的方法。您能增加新的名字到这namespace。更有,ScriptControl的接口(Windows脚本编程接口)允许您做这些用一个非常得心应手的方式。通过AddObject方法,ScriptControl增加一个命名项目对scriptnamespace产生响应。从那时起,它被认为语言项目。每个访问对这个元素自动地寻址对您指定作为AddObject的第二个论据的COM对象。那些二条线是CAspParser的一部分。初始化方法,并且m_objScriptCtl是为脚本处理使用ScriptControl的事例。一旦您执行那些线程,您通过ScriptControl的那个函数运行的所有脚本代码作为主键并且使用MyASP与它一起使用。它是一个非常通用的技术在写脚本的时候。有时,这是允许IIS应用真实的ASP对象模型在服务器端ASP页的脚本的同一个技术。访问在引用当浏览器的主要表单准备解析和显示ASP代码时,它叫ParseTextToFile方法,采取二个文件名字:来源ASP文件和目标HTML文件。当方法成功地时返回,表单简单地提交到新制的本地超文字标记语言页。CAspParser类通过设置过程语言对VBScript(这是必要的,因为ScriptControl已经默认为它)和增加MyASP的一个全新的函数初始化脚本控制。反应对象namespace。然后通过对方法ParseTextToFile控制。它接受ASP文件的名字,核实它有一个ASP引伸,并且读所有它的内容。我使用了脚本编写。使用CreateFileAPI或其他输入/输出技术可能给您更好的表现。字符串与所有ASP内容在块被解析。所有文本在这些标志外面被写到反应对象。它积累文本在内部字符串缓冲区。这样,被模仿的反应对象储存所有的输出,而真正的ASP反应,默认情况下中间转换被打开,默认情况下,而它在IIS的更早的版本被关闭了。清除的方法用于清除您通过重覆访问的所有缓冲区的文本。它在真正的ASP对象模型做您用于在服务器的这个明白方法确切地扮演同一个角色。现在我们仔细的审视被模仿的ASP反应对象的实施。进一步说明COM的语言中立地位和避免写的问题在VisualBasic反对以方法名字和一样一些语言主键(例如写或末端),我决定使用ATL和VisualC+写MyASP对象。MyASP的实施。反应对象是直接的.MyASP对象需要展示方法与匹配方式在您的客户端ASP页使用他们的署名。如果您使用客户端ASP引擎在具体客户端页运转,则没有您的特殊原因能使用仿造ASP的反应的一个习惯对象。您是写一个完全地常用对象与您更喜欢的编程接口。当您写着在网络将使用的双重页并且当地在CD,需要仿造ASP内在对象的署名出现。当您在MyASP响应激发写方法时。您通过的文本增加了一个内部变量准备返还给访问者的内部成员变量。这行为确切地模仿了ASP反应对象在内部所做的,当缓冲区打开时。清除方法清空缓冲区。MyASP也实施输出缓冲区的当前内容的ResponseBuffer的输出。这输出在相似情况下运作,ASP充足的方法。每次您读它,清除它的内容。IIS设法传递被变换的文本到浏览器通过HTTP。结果,没有需要安排内部缓冲区可用脚本在ASP页。实际上,ASP反应对象没有一个方法或输出(例如ResponseBuffer)退还在内部缓冲区积累的文本。在这客户端模仿,浏览器需要从对象得到被变换的文本,并且输出比一个子程序有用的Flush.。终于,结束方法设置内部变量错误。这变量通过CanContinue输出被展示和用于停止管理解析ASP文本的循环。您能看到,MyASP的编程接口。反应对象是相似的,但ASP反应对象是不相同的。在某种程度上逻辑在二个对象之后分享,但它明显地不同作为客户运作的上下文,并且反应的服务器端编辑要求。您能看常用浏览器和InternetExplorer以相同的方式浏览我简单的页面。如果您在包含指定的ASP页并且双击项目的文件夹打开开发工具,视觉InterDev在许多情况下开始,因为它是通常登记编辑ASP文件的节目。如果您在ASP想要能双击归档,并且看他们的内容,您可能同他们联系在一起一个节目视觉对象InterDev。然而,切记普通ASP页也许使用在客户端分析器不支持的会话或应用。结束方法正确地停止进程。如果您由输出在HTML文本框混淆,不太有关。查验同一个文件的尝试通过InternetExplorer和HTTP和您看见浏览器从网络服务器接受的HTML确切地是相同。一个可能的绊脚石在转换进程中=的意义是在之内常用的标志。更加复杂的页浏览器通过当前路径名字完成参考文件的名字。如果您从点击:http:/server/pages/foo.asp浏览器试图链接到http:/server/pages/seminars.asp.您想在InternetExplorer地址设法键入这路径名字,对话将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论