婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET4的自動啟動特性淺析

ASP.NET4的自動啟動特性淺析

熱門標簽:寧德防封版電銷卡 辦公用地圖標注網點怎么操作 上海市三維地圖標注 聊城智能電銷機器人電話 海東防封電銷卡 云南外呼系統代理 西寧電銷外呼系統公司 南昌自動外呼系統線路 安陸市地圖標注app

自動啟動,先行初始化web應用,而不必等待外部客戶端訪問web服務器時才啟動的能力。這可以有助于你給第一個訪問者提供一個更快的回復體驗,避免撰寫定制腳本來“預熱(warm up)”服務器和準備好任何數據緩存。它可用于任何類型的ASP.NET應用,包括基于ASP.NET Web Forms和ASP.NET MVC的應用。

在ASP.NET 4中自動啟動Web應用

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

ASP.NET 4中有一個叫“自動啟動(auto-start)”的新特性,可以較好地解決這個場景, 可以在IIS 7.5(隨Windows 7和Windows Server 2008 R2發布)上運行 ASP.NET 4時使用。這個自動啟動特性提供了一個可控制的方式來啟動一個應用工作進程,初始化ASP.NET 應用,然后接受HTTP請求。

將一個ASP.NET 4應用配置成自動啟動

要使用ASP.NET 4自動啟動特性,你首先配置IIS應用池工作進程,使在其中運行的應用在web服務器最先裝載時即自動啟動。配置方法是,打開IIS 7.5的applicationHost.config文件(C:\Windows\System32\inetsrv\config\applicationHost.config),在合適的 applicationPools>中加一個 startMode=”AlwaysRunning”屬性:

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

如果你運行Windows任務管理器,點擊“顯示所有用戶的進程”復選框,然后把applicationHost.config文件的startMode屬性改動保存的話,在文件保存后的瞬間就會看到一個新的“w3wp.exe” 工作進程啟動起來了。

一個單一IIS應用池工作進程可以宿主多個ASP.NET 應用,你可以通過在對應應用的 application> 中加一個serviceAutoStartEnabled="true" 屬性,來指定在工作進程裝載時你想要哪些應用自動啟動起來:

 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文件中的一個提供器(provider)配置,允許你配置一個自定義的類,該類用于封裝應用的任何 "預熱(warming up)" 邏輯。這個類會在工作進程和應用預載時(在收到任何外部web請求之前)自動被調用,可用于執行想要在接受和處理請求之前執行的任何初始化或緩存裝載邏輯:

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

IIS會將應用啟動到這樣一個狀態,在這個狀態中,它不能接受請求,直到你的 "預熱(warming up)" 邏輯完成為止。在Preload方法中的初始化代碼運行完返回之后,ASP.NET 應用會被標記為可處理請求了。

你也可以把新的自動啟動"warming up"特性與IIS7 應用請求導向(Application Request Routing, ARR) 擴展的負載平衡功能結合起來,用它來在應用完成初始化,可以接受HTTP請求之后,向負載平衡器發信號,在這個時候,服務器可以放入web farm來處理請求。

結束語

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

希望本文對你有所幫助,對自動啟動特性有更深入的了解。

您可能感興趣的文章:
  • ASP.Net防止刷新自動觸發事件的解決方案
  • asp.net下用js實現鼠標移至小圖,自動顯示相應大圖
  • asp.net 網頁編碼自動識別代碼
  • asp.net HttpWebRequest自動識別網頁編碼
  • asp.net通過HttpModule自動在Url地址上添加參數
  • asp.net下使用jQuery.AutoComplete完成仿淘寶商品搜索自動完成功能(改進了鍵盤上下選擇體驗)
  • jQuery 插件autocomplete自動完成應用(自動補全)(asp.net后臺)
  • Asp.net控制Tomcat啟動關閉的實現方法
  • ASP.NET GridView中文本內容無法換行(自動換行/正常換行)
  • asp.net中倒計時自動跳轉頁面的實現方法(使用javascript)
  • Asp.Net(C#)自動執行計劃任務的程序實例分析分享
  • asp.net在事件中啟動線程來打開一個頁面的實現方法
  • asp.net利用cookie保存用戶密碼實現自動登錄的方法

標簽:南寧 衢州 平涼 洛陽 青海 贛州 崇左 汕尾

巨人網絡通訊聲明:本文標題《ASP.NET4的自動啟動特性淺析》,本文關鍵詞  ASP.NET4,的,自動,啟動,特性,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET4的自動啟動特性淺析》相關的同類信息!
  • 本頁收集關于ASP.NET4的自動啟動特性淺析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乐安县| 渝中区| 文登市| 东丰县| 梓潼县| 凤翔县| 乌拉特中旗| 通化县| 姜堰市| 凌海市| 噶尔县| 海晏县| 蒙山县| 正阳县| 浙江省| 都匀市| 青田县| 陇西县| 山东| 理塘县| 乐清市| 大理市| 综艺| 灵寿县| 斗六市| 法库县| 繁峙县| 临潭县| 宁化县| 秦皇岛市| 陆川县| 禹州市| 沅江市| 商城县| 赤峰市| 抚州市| 昭平县| 攀枝花市| 廊坊市| 文成县| 宝山区|