NET网页编程之利用ASP.NET 4的主动启动特征
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!明天的贴子会商一个你能够选择使用的ASP.NET4中小小的,但很棒的新特征,即,主动启动,先行初始化web使用,而不用守候内部客户端会见web服务器时才启动的才能。这能够有助于你给第一个会见者供应一个更快的复兴体验,制止撰写定制剧本来“预热(warmup)”服务器和筹办好任何数据缓存。它可用于任何范例的ASP.NET使用,包含基于ASP.NETWebForms和ASP.NETMVC的使用。在ASP.NET4中主动启动Web使用
有些web使用在能够处置用户会见之前,必要装载良多的数据,或做一些消费很年夜的初始化处置。明天利用ASP.NET的开辟职员常常利用使用的Global.asax文件中的“Application_Start”事务处置函数来做这些事情(该事务是在第一个哀求实行时触发的)。他们要末计划定制剧本,周期性地向使用发假的哀求,来“叫醒它(wakeitup)”,从而在客户会见之前实行这个代码,大概就让那不幸的第一个会见者等着这个逻辑实行完才处置其哀求(这能够给这些用户形成很长的延宕)。
ASP.NET4中有一个叫“主动启动(auto-start)”的新特征,能够较好地办理这个场景,能够在IIS7.5(随Windows7和WindowsServer2008R2公布)上运转ASP.NET4时利用。这个主动启动特征供应了一个可把持的体例来启动一个使用事情历程,初始化ASP.NET使用,然后承受HTTP哀求。
将一个ASP.NET4使用设置成主动启动
要利用ASP.NET4主动启动特征,你起首设置IIS使用池事情历程,使在个中运转的使用在web服务器开始装载时即主动启动。设置办法是,翻开IIS7.5的applicationHost.config文件(C:WindowsSystem32inetsrvconfigapplicationHost.config),在符合的<applicationPools>中加一个startMode=”AlwaysRunning”属性:
<applicationPools>
<addname="MyAppWorkerProcess"managedRuntimeVersion="v4.0"startMode="AlwaysRunning"/>
</applicationPools>
假如你运转Windows义务办理器,点击“显现一切用户的历程”复选框,然后把applicationHost.config文件的startMode属性修改保留的话,在文件保留后的刹时就会看到一个新的“w3wp.exe”事情历程启动起来了。
一个单一IIS使用池事情历程能够宿主多个ASP.NET使用,你能够经由过程在对应使用的<application>中加一个serviceAutoStartEnabled="true"属性,来指定在事情历程装载时你想要哪些使用主动启动起来:
<sites>
<sitename="MySite"id="1">
<applicationpath="/"serviceAutoStartEnabled="true"serviceAutoStartProvider="PreWarmMyCache"/>
</site>
</sites>
<serviceAutoStartProviders>
<addname="PreWarmMyCache"type="PreWarmCache,MyAssembly"/>
</serviceAutoStartProviders>
下面的serviceAutoProvider="PreWarmMyCache"属性援用了config文件中的一个供应器(provider)设置,同意你设置一个自界说的类,该类用于封装使用的任何"预热(warmingup)"逻辑。这个类会在事情历程和使用预载时(在收就任何内部web哀求之前)主动被挪用,可用于实行想要在承受和处置哀求之前实行的任何初始化或缓存装载逻辑:
publicclassPreWarmCache:System.Web.Hosting.IProcessHostPreloadClient{
publicvoidPreload(string[]parameters){
//Performinitializationandcacheloadinglogichere...
}
}
IIS会将使用启动到如许一个形态,在这个形态中,它不克不及承受哀求,直到你的"预热(warmingup)"逻辑完成为止。在Preload办法中的初始化代码运转完前往以后,ASP.NET使用会被标志为可处置哀求了。
你也能够把新的主动启动"warmingup"特征与IIS7使用哀求导向(ApplicationRequestRouting,ARR)扩大的负载均衡功效分离起来,用它来在使用完成初始化,能够承受HTTP哀求以后,向负载均衡器发旌旗灯号,在这个时分,服务器能够放进webfarm来处置哀求。
停止语
ASP.NET4和IIS7.5的主动启动新特征供应了一个界说明白的体例,同意你在任何终端用户会见你的使用之前,运转消费年夜的使用启动和预缓存逻辑,这同意你一入手下手就将使用“预热(warmedup)”好,供应一个持之以恒的高功能体验。
但愿本文对你有所匡助,
有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。 同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
页:
[1]