IRequiresSessionState和IReadOnlySessionState應用上的一些差異
在呼叫ashx
時,如果需要應用Session
,則必須繼承介面IRequiresSessionState
,IReadOnlySessionState
,但根據字面,可以知道IRequiresSessionState
可對Session
進行所有操作,IReadOnlySessionState
只能對Session
進行只讀操作
假設場景:有頁面Test.aspx
以及一般處理程式Requires.ashx
和ReadOnly.ashx
(Requires.ashx
繼承IRequiresSessionState
,ReadOnly.ashx
繼承IReadOnlySessionState
,兩者的ProcessRequest
方法內都只有一段程式碼System.Threading.Thread.Sleep(1000))
,Test.aspx
分別有一段js
通過ajax
非同步的方式呼叫Requires.ashx
和ReadOnly.ashx
活動場景1:對Requires.ashx
同時進行2次ajax
非同步訪問,通過FireBug
監測時間,可以發現第一個Requires.ashx
的執行時間為1秒,第二個Requires.ashx
的執行時間為2秒,第二個Requires.ashx
的處理時間比第一個多1倍
活動場景2:對ReadOnly.ashx
同時進行2次ajax
非同步訪問,通過FireBug
監測時間,可以發現第一個ReadOnly.ashx
的執行時間為1秒,第二個ReadOnly.ashx
的執行時間為1秒,兩者處理時間相同
可以得出結論,在繼承IRequiresSessionState
時,為保證Session
的正確性,asp.net
內部機制會保證同一次會話期間,在第一個ashx
執行完畢前,不會執行第二個ashx
;而繼承IReadOnlySessionState
時,因為Session
是隻讀不變的,所以asp.net不需要對Session
的正確性進行控制,無論多少個請求,只要IIS
能處理,就會同時處理多少個請求
相關文章
- UDP和TCP的差異UDPTCP
- vue和react的差異VueReact
- ERP差異來源和差異處理
- Oracle中exists和in的效能差異Oracle
- 線上json差異比較工具--遞迴比較兩個json的節點和值的差異,並支援差異數預覽和逐個檢視差異JSON遞迴
- rpm 與 原始碼安裝的一些差異原始碼
- 《卸甲筆記》-PostgreSQL和Oracle的SQL差異分析之五:函式的差異(五)筆記SQLOracle函式
- 《卸甲筆記》-PostgreSQL和Oracle的SQL差異分析之五:函式的差異(三)筆記SQLOracle函式
- 《卸甲筆記》-PostgreSQL和Oracle的SQL差異分析之五:函式的差異(一)筆記SQLOracle函式
- Bootstrap和Tailwind CSS之間的差異?bootAICSS
- Java和C++的基本差異(轉)JavaC++
- mysql 的myisam和innodb對應的cache管理方式的一點差異MySql
- 工作流和BPM之間的差異
- 談談 mysql和oracle的使用感受 -- 差異MySqlOracle
- 聊聊t-io和netty的差異Netty
- mac和windows執行maven命令的差異MacWindowsMaven
- 空字串和空格字串在informix和oralce 的差異字串ORM
- Android應用商店差異化思路Android
- 譯:原生iOS應用程式和原生Android應用程式設計之間的差異iOSAndroid程式設計
- [譯]React函式元件和類元件的差異React函式元件
- Linux和Windows的差異?0基礎需知!LinuxWindows
- linux 下的差異和增量備份(轉)Linux
- MariaDB 和 GreatSQL 效能差異背後的真相SQL
- SQL server差異備份和還原SQLServer
- jquery版本中的差異jQuery
- 模電和數電在應用上的區別和聯絡
- ARM(RISC)和x86(CISC)的技術差異
- IaC 管理新思路:Walrus 和 Terraform 的差異化探索ORM
- ChromeDriver版本差異Chrome
- 中西IT差異論
- spring下應用@Resource, @Autowired 和 @Inject註解進行依賴注入的差異Spring依賴注入
- 老外看中國:本土移動應用差異在哪?
- MySQL中myisam和innodb有什麼差異?MySql
- SAP BSP應用有狀態和無狀態行為差異比較
- PostgreSQL與Oracle的sql差異SQLOracle
- 【譯】框架與庫的差異框架
- 機器學習和統計模型的差異機器學習模型
- Spark和Hadoop之間的主要技術差異和選擇SparkHadoop