NET网页编程之微软PDC2009直击:改善ASP.NET 4运转时
听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了)<p>关于ASP.NET4人人仍是有良多等候的,本文将为人人报告的是在微软PDC2009年夜会上关于改善ASP.NET4运转时部分的内容,但愿对人人有所匡助。浅析ASP.NET高效分页的完成历程详解ASP.NET缓存的事情道理详解ASP.NETMVC对表举行通用的增编削详解ASP.NETMVC2自界说考证浅析五年夜ASP.NET数据控件
在近期举行的PDC09年夜会中,ASP.NET团队的程序司理StefanSchackow展现了ASP.NET4在运转时方面的改善。改善次要环绕“功能”和“可扩大性”两个方面举行,详细体现三点:新的资本监督选项、会话形态和输入缓存的扩大才能。
关于一个Web服务器来讲,CPU和内存占用量是两个较为主要的功能目标,而二者比拟之下,内存绝对又更简单成为瓶颈。自从IIS6引进了“使用程序池”的观点入手下手,多个ASP.NET使用程序即可以事情在单个历程当中。可是在这类情形下,我们就很难经由过程功能监督器来取得某个特定的Web使用程序所占用的体系资本,这偶然会让成绩的定位变得坚苦重重。因为CLR4能够取得某个独自的使用程序域所占用的CPU,和堆上托管内存的数目,因而在ASP.NET4中引进了一个名为“使用程序域资本办理(AppDomainResourceManagement,ARM)”的功效,它会检测并预估单个Web使用程序资本占用的趋向,并将各类数据开放给功能计数器。
在ASP.NET4中,ARM功效默许其实不会开放。ARM功效没法经由过程修正独自使用程序的web.config文件翻开,你必要往体系的.NET设置目次中修正Aspnet.config文件,在节点中将AppDomainResourceMonitoring启用,最初还必要重启使用程序池。然后即可以在功能监督器中检察ASP.NETApplications分类中的响应计数器。值得注重的是,功能监督器中显现的托管内存占用并不是是准确值,而是一个“展望”,这是由于只要在第2代的GC产生时,CLR才干取得托管堆中内存占用的正确数目。
在会话形态(SessionState)利用方面,ASP.NET4也作出了无效的改善。Stefan暗示,客户中利用会话形态的ASP.NET使用程序数目之多凌驾了他的设想,特别是跨历程(OutofProcess)的Session利用体例更是影响Web使用程序功能的次要要素之一。因而,ASP.NET4使用.NET中的紧缩功效,对跨历程的会话形态举行了紧缩,包含SQLServer和会话形态服务器——而这统统只必要在web.config中举行设置便可。举行紧缩以后能够节俭1/3到2/3的流量,不外会带来一些Web服务器的CPU压力。
今朝,ASP.NET运转时会依据以后哀求的HttpHandler是不是完成IRequireSessionState接口来判别是不是启用Session。在ASP.NET4中,开辟职员能够经由过程编程接口来把持某个哀求是不是启用会话形态。别的,ASP.NET4还供应了“部分会话形态(PartialSessionState)”的功效,即只加载会话形态指定key的数据,这除无效削减会话形态的通讯开支外,也供应了分外的扩大才能。比方,ASP.NET团队盘算在AppFabric散布式缓存(其前身为Velocity)正式公布后,基于AppFabric构建一个新的SessionStateProvider。
ASP.NET4在输入缓存(OutputCache)上也增添了一些扩大点,次要可让开辟职员为控件和哀求级其余缓存定制存储机制,比方磁盘,散布式缓存,乃至是云中,而在今朝的ASP.NET中,一切数据都只能缓存在历程的内存中。这个扩大机制撑持缓存的相对过时(AbsoluteExpiration)工夫,文件依附,和静态交换和考证回调功效,不外为了包管缓存完成的通用性,它不撑持绝对过时(SlidingExpiration)工夫和其他情势的依附。预会话形态一样,在AppFabric公布以后,ASP.NET团队也会供应响应的OuputCacheProvider,不外依照企图这会在ASP.NET4RTM以后才会公布了。Stefan暗示,这些分外的Provider扩大城市作为开源项目托管在CodePlex网站上。
最初,基于IIS7.5的“预热”功效,ASP.NET4可让IIS7.5主动运转web.config中指定的页面。Stefan暗示,这个功效其实不会给程序功能带来进步,只是让用户制止遭受程序冷启动所带来的提早效果。
【义务编纂:彭凡TEL:(010)68476606】
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 逐步缩小出错代码段的范围,最终确定错误代码的位置。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
页:
[1]