ASP 3.0中的新特性(2)
发布时间:2008-02-27 13:28:00
对ASP 2.0的改进
下面的一些特征是从2 . 0版本中改进或升级来的。
1. 缓冲缺省为打开状态
ASP提供可选的输出缓冲。从IIS 4.0开始,这使得脚本执行得更快,并提供对流向浏览器的输出的控制能力。在ASP 3.0这个改进的性能通过改变Response.Buffer属性的缺省设置为True而反映出来。缺省状态下缓冲是打开的,这意味着最终的输出只有在进程完成时,或脚本调用Response.Flush或Response.End方法时,才送至客户端。
注意,可以通过设置Response.Buffer属性为False,关闭缓冲。只有这样,才能发送XML格式化输出给客户端,让XML分析器在收到输出后开始工作。也可以使用Response.Flush发送大页面的一部分,这样使用户可以很快看到部分输出。
2. Response.IsClientConnected的变化
Response.IsClientConnected属性可以在没有任何内容发送给客户端的情况下被读取到。在ASP 2.0中,这只在至少有一部分内容被发送后才能返回准确的信息。这一改进解决了IIS必须响应每个客户的请求(即使客户可能已经转移到另一个页面或站点)的问题。同时如客户在3秒内没有再连接,服务器上创建的完整的输出信息将被丢弃。
3. 带有默认文档的查询字符串
假如一个用户访问一个站点而不提供所请求页面的名字,默认的文档(如存在的话)将被送往客户端。然而假如他们提供了附在URL后面的查询字符串,这在早先的ASP版本中是被忽略的,而在IIS 5.0 和ASP 3.0 中这个查询子符串将被送到缺省页面。例如,在一个URL为:http://www.wrox.com/store/的目录中缺省页面为default.asp,则下面这两种情况都将名称/值对Code=1274送往default.asp页面:
4. 服务器端包含文件的安全性
服务器端的包含文件常用于一些敏感的信息,如数据库连接字符串或其他访问细节。一个虚拟的路径(即URL而不是完整的物理磁盘文件路径)可以用来指定这些文件。在这种情况下,早先的ASP版本不核对文件的安全设置和用户的证书;换句话说,授权(验证后)的用户和匿名的Web服务器帐号都没有与文件的访问控制列表相比较。在IIS 5.0和ASP 3.0,这些证书将被检查以防止非授权访问。
5. 可配置项移到元数据库中
在IIS 5.0中ProcessorThreadMax和ErrorsToNTLog的注册项被移到元数据库中,所有的ASP可配置参数能够通过Active Directory和Active Directory服务接口( ADSI )在元数据库中修改。
6. 应用程序中的双线程对象的性能
为了在常有多个并发请求的ASP中获得最佳性能,组件应是双线程的( Both-Threaded )—即单线程单元(Single Threaded Apartment,STA)和多线程单元(Multi-Threaded Apartment,MTA ),并且支持COM Free-Thread Marshaller(FTM)。不支持FTM的双线程的COM对象假如被存储在ASP Application状态对象中,将导致运行失败。
7. 更早释放COM对象
在IIS 5.0中,实例化的对象或组件可更早释放。在IIS 4.0中,COM对象只有在ASP处理完一个页面时才能释放。在IIS 5.0中,假如一个COM对象不使用OnEndPage方法,且对象的引用计数达到零,则这个对象在处理完成之前就被释放了。
8. 缺省时ASP允许进程外组件
定制的本地服务器组件现在可以从IIS中被实例化,而不需要改变元数据库的设置。控制本地服务器实例化的元数据库属性AspAllowOutOfProcComponents缺省值为1,在IIS早期版本为0。
9. COM对象的安全性
IIS使用了新的由COM +提供的cloaking特性,因此,从ASP实例化的本地服务器应用程序可以运行在原始的客户的安全环境中。在早期版本中,安全环境被指派到本地服务器COM对象,依赖于调用进程的身份。
10. 缺省时组件运行在进程外
在ASP早期版本中,所有在ASP页面环境中创建的组件缺省时运行在进程内。
为在组件的性能和Web服务器安全性之间折衷,对于一个虚拟的应用程序,可以从Properties对话框中Application Protection的三个选项中选择:
Low (IIS Process)
这种设置的ASP虚拟应用程序的所有应用程序可执行文件和组件都运行在Web服务器可执行文件( Inetinfo.exe )的进程(即内存空间)中。因此,Web服务器就有受到可执行文件或组件失败影响的风险,然而这提供了最快的和最少资源浪费的应用程序执行选项。
Medium (Pooled)—这是缺省设置
这种设置的ASP虚拟应用程序的所有应用程序可执行文件和组件都运行在单个共享的DLLHost.exe实例的进程(即内存空间)中。这保护了Web服务器可执行文件( Inetinfo.exe )免受任何一个可执行文件或组件失败带来的风险。然而,可执行文件或组件的失败会引起 DLLHost.exe进程失败,进而所有其他驻留其中的可执行文件和组件也会失败。
High (Isolated)
这种设置的ASP虚拟应用程序的所有应用程序可执行文件和组件都运行在单个DLLHost.exe实例的进程(即内存空间)中,但是每个ASP应用程序都有自己的DLLHost.exe实例。DLLHost.exe对应用程序而言是独有的,这保护Web服务器可执行文件免受任何一个可执行文件或组件失败带来的危险,同时也保护了虚拟应用程序,免受因其他虚拟应用程序的可执行文件或组件失败带来的问题。微软建议在任何一个Web服务器上最多驻留10个隔离的虚拟应用程序。
推荐的配置是:在它们自己的进程中运行对于任务关键的应用程序,即High (Isolated);余下的所有应用程序在一个共享的进程中运行,即Medium (Pooled)。也可设置组成每个虚拟应用程序的脚本和组件的执行权限(Execute Permission),三个选项是:
1) None:在这个虚拟的应用程序中不能运行脚本或可执行文件。在实际效果上,这提供了一个在必要时快速和简便地禁止一个应用程序的方式。
2) Scripts only:仅允许脚本文件,诸如ASP、IDC或其他,能够在这个虚拟应用程序中运行,可执行文件不能运行。
3) Scripts and Executables:允许任何脚本和可执行文件在这个虚拟应用程序中运行。
猜你喜欢
- 其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较了,特别是 Row_N
- 首先感谢比尔、感谢微软、感谢MSDN,是他们让我看到他们富有创意的一面,好了好了不废话了。我们经常把多个CSS或者多个JS并成一个,以节省请
- 内容摘要:除了内部性能增强和优化外,IIS6.0版本的 Active Server Pages(ASP)&nb
- 网上有不少生成缩略图的ASP组件。若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少。心晴不才,结合网上资源写了个无组件生成缩略图
- 在设计网页时,没有比页面的外观更重要的了。所以,如果发现设计人员十分关注字体及字体大小,我并不感到惊奇。使用CSS来编辑字体有各种各样的方法
- XHTML规范中有一条标准就是“每个XHTML标签都有一个结束标记”。那么对于HTML中原来不带结束标记的元素,则在该结束前加上“/”来关闭
- 概要本文分步介绍了如何在运行 SQL Server 的计算机之间移动 Microsoft SQL Server 用户数据库和大多数常见的 S
- 随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术。而现在Ajax则是最为流行的一种方式。JavaScript是一种解
- 用比较笨的方法来做abc ="AlkjA;lkjlkjAlkAkjAlkjAAAA" if instr(abc,&quo
- 一、节点的定义dom节点树图中可见节点HTML文档中的每个成分都是一个节点:整个文档是一个文档节点每个HTML标签是一个元素节点包含在HTM
- <ScriptRUNAT=SERVERLanguage=VBScript>SubApplication_OnStar
- Web设计师可以使用HTML4和CSS2.1完成一些很酷的东西。我们可以在不使用陈旧的基于table布局的基础上完成文档逻辑结构并创建内容丰
- 各大著名厂家、公司的banner广告设计欣赏,尺寸468x60,gif格式!有acer,阿尔卡特,AMD,中国电信,爱立信,Greatwal
- 1、把这段拷到DW里,存成HTML文件。<HTML><HEAD><TITLE>move backgrou
- 如题在SQL中 SELECT ... FROM ... ORDER BY abc ASC; 如果abc是字符串,那么结果会按照a-z 中文按
- 说明:这个例子,首先是把SPAN里的内容用display:none;干掉,就是不显示; 然后在A:HOVER时,再把SPAN里的内容disp
- 经常有网友会问,SQL Server占用了太多的内存,而且还会不断的增长;或者说已经设置了使用内存,可它没有用到那么多,这是怎么一回事儿呢?
- [root@vm1 ~]# rpm -ivh groundwork-foundation-pro-1.6.1-67.noarch.rpm P
- 俺觉得自 己试着写写sql,调试调试还是有帮助的,读人家sql例子好像读懂了,自己写就未 必思路正确,调试得通,写得简洁。 这篇文字在网上被
- 在ASP中使用FSO组件生成HTML静态页面,共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作