国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IIS7 Application Pool Integrate Mode 和 Classic Mode 的區別

2019-11-17 01:44:18
字體:
來源:轉載
供稿:網友

IIS7 application Pool Integrate Mode 和 Classic Mode 的區別

IIS7也用了好久了,關于Application Pool Integrate Mode 和 Classic Mode 究竟是什么也是懵懵懂懂,于是下決心去官網看了技術文檔,終于恍然大悟,特來分享一下。

IIS從7開始引入了Application Pool,解決了IIS6設置在Server上的問題(因為設置在Server上,因此你不能讓兩個application跑在兩個mode下)。并且增加了模式設置,分別為 Integate Mode 和 Classic Mode。那么這兩個模式有什么區別呢,下面我慢慢道來。

首先要先說下IIS的Module,IIS7開始引入了Module,每個Module有各自的功用,Module包含IIS自己攜帶的,稱為Native Module,和外來引入了。而由.NET引入的Module稱為Managed Module。如果你仔細查看Native Module和Managed Module,你會發現兩者是有重復的,特別是用戶認證這里,而如何調用這些Module,就是這兩個模式的主要區別。

先說說IntegrateMode。在這個Mode下,當接收一個新的request的時候,request會傳送一個有序的事件列表,然后IIS會根據各個事件去調用需要的Native Module 和 Managed Module。就拿用戶認證來說吧,如果是一個asp.net應用程序,那么IIS會忽略Native Module,而去直接調用Managed Module。這樣便提高了處理request的效率,并且保證該應用程序的所有用戶認證都被.Net程序管理。

對于Classic Mode,其實和IIS6 中的isolation mode是一樣的,一個request來了,IIS先調用Native Module處理,然后如果需要運行托管代碼,則調用aspnet_isapi.dll去解析,這時才調用Managed Module。如果你用了Form的認證方式,那么要先經過Native Module的一次認證,然后在調用托管代碼的時候再運行一次Managed Module認證,這就重復了兩次。此外,如果一個資源不運行托管代碼,那么托管代碼的認證是不會運行了,以Form方式為例,如果調用一個靜態資源,則只會調用IIS的原生認證,而不會使用Form認證。可見Classic Mode在效率和部署配置上不如Integrate Mode好。

總結一下,通過上面不難看出,如果寫ASP.NET程序,運行在Integrate Mode是最好的選擇。Classic Mode更像是一種向下兼容的模式,如果你的應用在Integrate Mode下有問題,可以切換到該模式下一用。此外,Classic Mode的另外一個應用場景就是原生模塊的多樣,還拿認證來說,原生的就比.NET的多出不少,如果為了降低開發成本,也可運行在Classic Mode下,當然也要承擔上面所說的執行效率和安全問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦北县| 菏泽市| 上杭县| 扬州市| 连平县| 合肥市| 谷城县| 拉孜县| 伊金霍洛旗| 临海市| 浪卡子县| 浮山县| 克什克腾旗| 海晏县| 东台市| 台山市| 宝坻区| 黄石市| 民丰县| 清水河县| 昭通市| 三门峡市| 克什克腾旗| 达拉特旗| 延吉市| 许昌市| 琼结县| 湟源县| 含山县| 砚山县| 鹿泉市| 无棣县| 临沧市| 云梦县| 都兰县| 山西省| 东乌珠穆沁旗| 吉林市| 呼玛县| 兰州市| 麦盖提县|