实现健壮性能的规则
Hank Marquis
来自于Enterprise Solutions for Microsoft BackOffice and Windows NT Magazine
原稿地址:http://www.microsoft.com/china/technet/intranet/sevstep.asp
在你的服务器上安装了微软IIS(Internet Information Server),你就可以发挥ASP(Active Server Pages)的优势了,ASP利用ActiveX组件来为你的 *** 应用完成所有种类的工作。尽管你可以在HTML和有ASP页面的IIS里面使用许多ActiveX组件,服务器端组件也不是运行在一台服务器上的普通组件。它在运行时不会告诉你同需要特别关照的产品服务器有关的任何信息。你将无法做任何事情去改变其对服务器性能、安全和稳定性的影响。对服务器端的组件的不恰当选择可能会导致一些问题,包括速度的明显下降,安全漏洞或者其它更恶劣的问题。
客户端的组件在用户计算机上执行。客户端组件包括绝大多数我们现在已经了解的一些流行组件:标签控件,文本框,命令按钮,格子等。这些组件可以通过<OBJECT>标签和(或)HTML对象语法来包含在客户端HTML代码中。
多数的有用的客户端组件会提供特定种类的用户界面。记住,使用客户端组件就意味着真实组件已经被传到客户计算机上。寻常的做法就是把组件下载到客户计算机上。当然,用户不得不等待下载过程,而且客户计算机必须被配置为允许下载。
与此形成对比的是,服务器端的组件在服务器计算机上执行。服务器端组件也为用户做一些工作,但却是在服务器上运行的。你必须认识到这个差异并且相应地编制代码。服务器端组件为你的整个应用程序封装了一些逻辑或功能。
当一个用户使用应用程序时,他将不会真正看到服务器端的组件。这些组件大多数都可以通过需要使用组件的ASP脚本中的<OBJECT>标识来被包含。你同样可以通过服务器的CreateObject语法来包含服务器端的组件。
建造健壮的组件
用于创建健壮组件的好材料并不多。但是,我在这里向大家推荐七个关键步骤,它可以帮助你创建稳定和安全的服务器端组件,可以很优雅地缩放并且维持性能。在创建一个服务器端 *** 应用时,你需要把稳定,安全和性能放在你心目中的首要位置。
服务器端组件不应该具有GUI(图形用户界面)。因为服务器端组件是在服务器上运行, *** 应用的用户是看不到可能弹出的任何对话的。你的组件需要能够同脚本和其它组件进行交流,却无需同用户交流。避免所有的消息框和其它任何图形的用户界面单元。你必须开发利用返回结果来同状态和其它模块信息进行交流的代码。如果什么东西出问题,不要抛出一个错误消息或者使用一个消息框,可以返回一个状态变量。你需要做的最后一件事是锁定忙碌服务器等待OK按钮被按下。
服务器端组件不得被传递引用或者传递引用给对象。普遍的做法是把控 *** 为一个参数传递给其它过程或组件。这包括其它对象的引用,比如RecordSets。尽管如此,向 *** 中的组件传递引用可能导致速度明显下降,使一个繁忙的服务器更加缓慢, *** 应用程序在响应用户需求时也表现得更慢。
服务器端组件应该尽可能地少含 *** 和属性。每一个 *** 或属性的调用都需要大量处理。因此,一个编写的好的服务器端组件应该几乎不含明显的 *** 和属性。组件含有的那些 *** 和属性会带来更多的参数。具有很多参数的调用越少,性能就越好,尤其是你的 *** 应用程序需要支持许多用户时。这个技巧和许多开发人员的经验是相反的。尽量少的使用带有许多参数的调用也会带来另外一些问题,这使得编码和调试更加困难,但是速度上的改进是与付出的努力相当的。
服务器端组件必须实现恰当的线程模型。利用单线程组件可能导致服务器限制一个线程的会话,这将带来速度的明显下降。应该选择VB的房间模型线程选项并且努力避免单线程组件。但是,VB不能创建你可以在Visual C++里发现的具有线程选择范围的组件,。这一点也表明VB不是一种很合适这项工作的开发语言。
服务器端组件应该使用早期绑定。如果你的服务器应用程序要扩容,这显得特别重要。早期绑定的对象在编译时就拥有引用解析,可以节省不少执行时间。
服务器端组件不能使用在应用程序或会话作用域的声明中。请注意你的控件是如何被限定作用域的。作用域描述了如何创建一个组件的实例,这对你的服务端组件的成功起着关键作用。正如上月所讨论的那样,存在三种级别的作用域:页面级,会话级和应用程序级。页面级作用域对象可以用页面本身的HTML和ASP脚本代码来创建。页面级作用域组件的更佳性能可以通过使用房间线程来得到。而对应用程序级和会话级作用域组件来说,可以通过使用ATL组件的双线程模型来得到。同作用域结合的线程模型也影响服务器的安全性能。例如,一个利用应用程序级作用域的房间线程组件在系统安全环境里运行,但并不是当前用户的安全环境。这对那些具有安全意识的人来说可能是一个问题。
如今许多加盟商都对唐香村烤鱼坊加盟项目很是的看好,各人都想要加盟到个中来,假如你想要加盟这个项目标话呢,那么我们就一起来看看唐香村烤鱼坊加盟项目标成长吧!唐香村烤鱼坊加盟项目在市场上创立多年,品牌形象...
心理疾病测试题测试题标准1.我真希望自己哪天突然死去。012342.小事我也感到非常着急。012343.遇到一点小事我就感到烦恼。012344.我感到。 趋利避害是人的本性。压力大,遇到苦难,这些都会...
餘秋雨莫高窟全文讀書啊,我信赖但有朗朗書聲出破廬,遲早有一日有萬鯉躍龍門之奇象。 莫高窟,俗稱千佛洞,坐落在河西走廊西端的敦煌。它始建於十六國的前秦時期,歷經十六國、北朝、隋、唐、五代、西夏...
队伍搭配 这样的队伍可以杀一些日常三本是没有什么问题的 缺少一个封系,平常杀28就要暴力输出,所以搭配高伤害法宝宝也是一样OK 门派建议搭配五门,封系和加血辅助小编觉得是必不可少的。输出...
本文导读目录: 1、黑客能侵入高考档案修改信息吗? 2、黑客入侵学信网改学籍容易吗 3、我是高中生 意外泄露了学籍号,会不会产生什么影响??对考大学会不会有坏处? 会不会被修改个人信息?...
记得刚入职时,有个前辈跟我说过,不管是公众号还是微博、百度、今日头条等自媒体平台,现在是“内容是王道”的时代,想要打造一篇好的软文,必须要有一定的阅读量。有了阅读量,你才能写出好的软文。 当时,...