最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET4的自動(dòng)啟動(dòng)特性淺析

 更新時(shí)間:2015年10月22日 11:27:02   投稿:lijiao  
本篇文章討論一個(gè)你可以選擇利用的ASP.NET4中小小的,但很棒的新特性,即自動(dòng)啟動(dòng),需要的朋友可以參考下

自動(dòng)啟動(dòng),先行初始化web應(yīng)用,而不必等待外部客戶(hù)端訪(fǎng)問(wèn)web服務(wù)器時(shí)才啟動(dòng)的能力。這可以有助于你給第一個(gè)訪(fǎng)問(wèn)者提供一個(gè)更快的回復(fù)體驗(yàn),避免撰寫(xiě)定制腳本來(lái)“預(yù)熱(warm up)”服務(wù)器和準(zhǔn)備好任何數(shù)據(jù)緩存。它可用于任何類(lèi)型的ASP.NET應(yīng)用,包括基于A(yíng)SP.NET Web Forms和ASP.NET MVC的應(yīng)用。

在A(yíng)SP.NET 4中自動(dòng)啟動(dòng)Web應(yīng)用

有些web應(yīng)用在可以處理用戶(hù)訪(fǎng)問(wèn)之前,需要裝載很多的數(shù)據(jù),或做一些花費(fèi)很大的初始化處理。今天使用 ASP.NET 的開(kāi)發(fā)人員經(jīng)常使用應(yīng)用的Global.asax 文件中的 “Application_Start”事件處理函數(shù)來(lái)做這些工作(該事件是在第一個(gè)請(qǐng)求執(zhí)行時(shí)觸發(fā)的)。他們要么設(shè)計(jì)定制腳本,周期性地向應(yīng)用發(fā)假的請(qǐng)求,來(lái)“喚醒它(wake it up)”,從而在客戶(hù)訪(fǎng)問(wèn)之前執(zhí)行這個(gè)代碼,或者就讓那不幸的第一個(gè)訪(fǎng)問(wèn)者等著這個(gè)邏輯執(zhí)行完才處理其請(qǐng)求(這可以給這些用戶(hù)造成很長(zhǎng)的耽擱)。

ASP.NET 4中有一個(gè)叫“自動(dòng)啟動(dòng)(auto-start)”的新特性,可以較好地解決這個(gè)場(chǎng)景, 可以在IIS 7.5(隨Windows 7和Windows Server 2008 R2發(fā)布)上運(yùn)行 ASP.NET 4時(shí)使用。這個(gè)自動(dòng)啟動(dòng)特性提供了一個(gè)可控制的方式來(lái)啟動(dòng)一個(gè)應(yīng)用工作進(jìn)程,初始化ASP.NET 應(yīng)用,然后接受HTTP請(qǐng)求。

將一個(gè)ASP.NET 4應(yīng)用配置成自動(dòng)啟動(dòng)

要使用ASP.NET 4自動(dòng)啟動(dòng)特性,你首先配置IIS應(yīng)用池工作進(jìn)程,使在其中運(yùn)行的應(yīng)用在web服務(wù)器最先裝載時(shí)即自動(dòng)啟動(dòng)。配置方法是,打開(kāi)IIS 7.5的applicationHost.config文件(C:\Windows\System32\inetsrv\config\applicationHost.config),在合適的< applicationPools>中加一個(gè) startMode=”AlwaysRunning”屬性:

< applicationPools>  
   < add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />  
< /applicationPools> 

如果你運(yùn)行Windows任務(wù)管理器,點(diǎn)擊“顯示所有用戶(hù)的進(jìn)程”復(fù)選框,然后把a(bǔ)pplicationHost.config文件的startMode屬性改動(dòng)保存的話(huà),在文件保存后的瞬間就會(huì)看到一個(gè)新的“w3wp.exe” 工作進(jìn)程啟動(dòng)起來(lái)了。

一個(gè)單一IIS應(yīng)用池工作進(jìn)程可以宿主多個(gè)ASP.NET 應(yīng)用,你可以通過(guò)在對(duì)應(yīng)應(yīng)用的 < application> 中加一個(gè)serviceAutoStartEnabled="true" 屬性,來(lái)指定在工作進(jìn)程裝載時(shí)你想要哪些應(yīng)用自動(dòng)啟動(dòng)起來(lái):

< sites>  
   < site name="MySite" id="1">  
     < application path="/" serviceAutoStartEnabled="true" serviceAutoStartProvider="PreWarmMyCache" /> 
   < /site>  
< /sites> 
< serviceAutoStartProviders>  
   < add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />  
< /serviceAutoStartProviders> 

上面的serviceAutoProvider="PreWarmMyCache" 屬性引用了config文件中的一個(gè)提供器(provider)配置,允許你配置一個(gè)自定義的類(lèi),該類(lèi)用于封裝應(yīng)用的任何 "預(yù)熱(warming up)" 邏輯。這個(gè)類(lèi)會(huì)在工作進(jìn)程和應(yīng)用預(yù)載時(shí)(在收到任何外部web請(qǐng)求之前)自動(dòng)被調(diào)用,可用于執(zhí)行想要在接受和處理請(qǐng)求之前執(zhí)行的任何初始化或緩存裝載邏輯:

public class PreWarmCache : System.Web.Hosting.IProcessHostPreloadClient { 
  public void Preload(string[] parameters) {  
    // Perform initialization and cache loading logic here...  
  }  
} 

IIS會(huì)將應(yīng)用啟動(dòng)到這樣一個(gè)狀態(tài),在這個(gè)狀態(tài)中,它不能接受請(qǐng)求,直到你的 "預(yù)熱(warming up)" 邏輯完成為止。在Preload方法中的初始化代碼運(yùn)行完返回之后,ASP.NET 應(yīng)用會(huì)被標(biāo)記為可處理請(qǐng)求了。

你也可以把新的自動(dòng)啟動(dòng)"warming up"特性與IIS7 應(yīng)用請(qǐng)求導(dǎo)向(Application Request Routing, ARR) 擴(kuò)展的負(fù)載平衡功能結(jié)合起來(lái),用它來(lái)在應(yīng)用完成初始化,可以接受HTTP請(qǐng)求之后,向負(fù)載平衡器發(fā)信號(hào),在這個(gè)時(shí)候,服務(wù)器可以放入web farm來(lái)處理請(qǐng)求。

結(jié)束語(yǔ)

ASP.NET 4 和 IIS 7.5的自動(dòng)啟動(dòng)新特性提供了一個(gè)定義明確的方式,允許你在任何終端用戶(hù)訪(fǎng)問(wèn)你的應(yīng)用之前,運(yùn)行花費(fèi)大的應(yīng)用啟動(dòng)和預(yù)緩存邏輯,這允許你一開(kāi)始就將應(yīng)用“預(yù)熱(warmed up)”好,提供一個(gè)始終如一的高性能體驗(yàn)。

希望本文對(duì)你有所幫助,對(duì)自動(dòng)啟動(dòng)特性有更深入的了解。

相關(guān)文章

  • ASP.NET入門(mén)之HTML服務(wù)器控件概述

    ASP.NET入門(mén)之HTML服務(wù)器控件概述

    這篇文章主要介紹了ASP.NET入門(mén)之HTML服務(wù)器控件,對(duì)于初學(xué)者來(lái)說(shuō)很有借鑒學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2014-07-07
  • c#  操作符?? null coalescing operator

    c# 操作符?? null coalescing operator

    ?? "null coalescing" operator 是c#新提供的一個(gè)操作符,這個(gè)操作符提供的功能是判斷左側(cè)的操作數(shù)是否是null,如果是則返回結(jié)果是右側(cè)的操作數(shù);非null則返回左側(cè)的操作數(shù)。
    2009-06-06
  • 解決VS2012 Express的There was a problem sending the command to the program問(wèn)題

    解決VS2012 Express的There was a problem sending the command to

    安裝Visual Studio 2012 Express之后,雙擊打開(kāi)web.config文件時(shí)經(jīng)常出現(xiàn)“There was a problem sending the command to the program”的錯(cuò)誤,然后VS2012 Express打開(kāi)了,但web.config文件沒(méi)打開(kāi),需要再次雙擊web.config文件才能打開(kāi)。很是煩人
    2013-02-02
  • .net中mshtml處理html的方法

    .net中mshtml處理html的方法

    本文介紹一下,.net中mshtml處理html的方法,需要的朋友可以參考一下
    2013-03-03
  • .net mvc頁(yè)面UI之Jquery博客日歷控件實(shí)現(xiàn)代碼

    .net mvc頁(yè)面UI之Jquery博客日歷控件實(shí)現(xiàn)代碼

    最近在做一個(gè)博客系統(tǒng),其他需要用到博客日歷控件,網(wǎng)上搜索了很多資料,其中大部分都是javascript的,經(jīng)過(guò)總結(jié)使用jquery實(shí)現(xiàn)了博客日歷效果。代碼如下
    2013-09-09
  • ASP.NET?Core?6.0?添加?JWT?認(rèn)證和授權(quán)功能

    ASP.NET?Core?6.0?添加?JWT?認(rèn)證和授權(quán)功能

    這篇文章主要介紹了ASP.NET?Core?6.0?添加?JWT?認(rèn)證和授權(quán),本文將分別介紹?Authentication(認(rèn)證)?和?Authorization(授權(quán)),通過(guò)實(shí)例代碼分別介紹了這兩個(gè)功能,需要的朋友可以參考下
    2022-04-04
  • .Net?生成壓縮文件問(wèn)題記錄(推薦)

    .Net?生成壓縮文件問(wèn)題記錄(推薦)

    由于公司開(kāi)發(fā)項(xiàng)目需要遷移部署到Linux環(huán)境部署運(yùn)行,之前項(xiàng)目中生成Zip壓縮文件的代碼邏輯在Linux運(yùn)行生成壓縮文件不正常,今天通過(guò)本文給大家分享.Net?生成壓縮文件問(wèn)題記錄,感興趣的朋友一起看看吧
    2022-02-02
  • asp.net Repeater綁定時(shí)使用函數(shù)

    asp.net Repeater綁定時(shí)使用函數(shù)

    asp.net repeater綁定函數(shù)使用實(shí)例
    2008-08-08
  • ASP.NET Core中使用多環(huán)境

    ASP.NET Core中使用多環(huán)境

    這篇文章介紹了ASP.NET Core中使用多環(huán)境的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • .NET Core創(chuàng)建一個(gè)控制臺(tái)(Console)程序

    .NET Core創(chuàng)建一個(gè)控制臺(tái)(Console)程序

    這篇文章主要為大家詳細(xì)介紹了.NET Core如何創(chuàng)建一個(gè)控制臺(tái)程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評(píng)論

遵义县| 庄浪县| 乌审旗| 安阳县| 定南县| 绩溪县| 若羌县| 思南县| 临江市| 方正县| 晋州市| 安泽县| 双牌县| 霍城县| 丹棱县| 灌南县| 巴中市| 武陟县| 大邑县| 浪卡子县| 县级市| 武冈市| 当雄县| 依兰县| 禹城市| 桂平市| 谷城县| 宝应县| 彭州市| 张家川| 屏边| 玉屏| 通化县| 石河子市| 巴中市| 凌海市| 凤庆县| 呼伦贝尔市| 柳州市| 明溪县| 祁东县|