ASP.NET 4風雲之旅系列之ASP.NET 4對開發人員的核心運行時新特性

來源:互聯網
上載者:User

ASP.NET 4運行時的主要改進
效能
可擴充性
其它

效能相關的新特性
新的資源監控器選項
Session State的改進
應用程式的自動運行
Response.RedirectPermanent

資源監控
CPU和記憶體都是有限資源
傳統監測都是在進程級的
 無法監測某個應用域
CLR 4引進了“ARM”
 Application domain Resource Management
基於ARM的效能計數器
 Managed Memory Used
 % Managed Processor Time

Session State
跨進程使用的session state
 變得更快
自動壓縮
 在很大程度上減少網路流量
 大小減少到1/3到2/3
通過指令控制session state開/關
 僅在真正需要時才用
局部的session state
 僅使用指定key的Session來減少網路流量

應用程式的自動運行
提高網站效能
 使得個別網頁運行得更快
 為第一次運行網站應用程式“隱藏”啟動成本
通過ASP.NET和IIS隱藏啟動
 IIS7.5能夠“自啟動”背景工作處理序和應用程式
 ASP.NET 4結合IIS7.5實現自啟動
我們可以透過在applicationHost.config中設定以下內容讓特定的Pool永遠在暖機狀態
<applicationPools>
 <add name="MyApplicationPool" startMode="AlwaysRunning" />
</applicationPools>

應用程式的自動運行
IIS team建立了一個warm-up module
 運行在IIS7.5的頂端提供auto-start特性
 支援任何ASP.NET版本
 http://www.iis.net/extensions/ApplicationWarmUp

Response.RedirectPermanent
Response.Redirect產生HTTP 302的狀態代碼,是臨時重新導向,會引發用戶端對web伺服器的2次請求
Response.RedirectPermanent產生HTTP 301的狀態代碼,是永久重新導向,下次訪問時瀏覽器或搜尋引擎直接存取重新導向後的地址

可擴充性的改進
Session State
Output Cache
HTML, URL, HTML attribute, HTTP headers可自訂編碼
Request Validation

Session State的擴充
仍可通過SessionStateStoreProviderBase實現自訂的Session儲存機制
官方將提供新的Session State Provider

Output Cache的擴充
通過OutputCacheProvider派生出一個新的class實現自訂的Output Cache Provider
官方將提供新的Output Cache Provider
 Windows AppFabric Caching(分布式緩衝)
 基於磁碟儲存的Output Cache Provider
擴充機制支援
 絕對到期時間
 檔案依賴
 靜態替換和驗證等

自訂編碼的擴充
通過System.Web.Util.HttpEncoder派生出一個新的class實現自訂編碼
並在web.config中設定
<httpRuntime encoderType="Samples.MyCustomEncoder, Samples" />
當調用System.Web.HttpUtility或System.Web.HttpServerUtility的公開方法時自動調用我們自訂的編碼邏輯

Request Validation的擴充
通過System.Web.Util.RequestValidator派生出一個新的class實現自訂RequestValidation
並在web.config中設定
<httpRuntime requestValidationType="Samples.MyValidator, Samples" />
然後網站的Request均使用自訂的邏輯進行檢查

其它
Web.config的httpRuntime可以設定url長度,字元限制等規則
 maxRequestPathLength
 maxQueryStringLength
 requestPathInvalidChars
通過RouteTable.Routes對URL重寫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.