MVC學習IIS的不同版本(一)

一:IIS5.0運行在進程InetInfo.exe中,該進程寄宿著一個名為World Wide Publishing Service(W3VC)的window服務。

? W3VC的主要功能:包括HTTP請求的監聽、工作進程和配置管理

檢測到HTTP 請求時:

? ? ? 根據擴展名判斷是否靜態資源

? ? 1、是直接將文本內容以HTTP回復的形式返回

? ? 2.動態資源,通過IIS 的腳本映射----找到對應的ISAPI動態鏈接庫(是IIS和其他的動態的Web應用和平臺之間的紐帶)

? ? ASP.NET中對應的ISAPI文件的名稱為:aspnet_isapi.dll

? ? ISAPI支持ISAPI 的擴展(ISAPI Extension和ISAPI篩選)?

? ? ISAPI是真正處理HTTP請求的接口 ?ISAPI在HTTP請求真正處理之前查看、修改、轉發和拒絕請求(進行請求的驗證)

?

二:IIS6.0新增的功能:

1.ISAPI動態鏈接庫直接加載到工作進程中

?2.引入了應用程序池,由于每一個應用程序池對應一個獨立的工作進程,從而運行在不同的應用程序池中的Web應用提供基于進程的隔離級別

工作進程的別名(W3WP.exe)

3.創建了一個名為HTTP.SYS的HTTP監聽器。屬于TCP 之上的一個網絡驅動程序 ?不在IIS的元數據庫中,定義在注冊表中。

三:HTTP。SYS帶來的好處如下:

1.持續監聽:HTTP.SYSw是一個網絡驅動程序,始終處于運行狀態,對于用戶的HTTP請求能夠及時作出反應

2.更好的穩定性:運行在操作系統的內核模式下,并不執行任何用戶代碼,其本身不會受到Web應用、工作進程和IIS進程的影響。

3.內核模式下數據緩存:如果某個資源被頻繁請求,HTTP.SYS會把響應的內容進行緩存,響應的內容可以直接響應后續的請求(基于內核模式的緩存,不存在內核模式和用戶模式的切換,響應速度得到了相應的提高)

?

四:IIS6.0和ASP.NET

? 1.當HTTP.SYS監聽到HTTP請求分發給W3SVC----解析出URL地址

?2 根據從Metabase獲取的URL與Web應用之間的映射關系得到-----目標應用----目標應用運行的應用程序池或工作進程

?3. 如果進程不存在則創建新的工作程序進程(相應的ISAPI動態鏈接庫被加載 ? ?ISAPI.dll為aspnet_isapi.dll)

? 4.ASP.NET ISAPI在負責進行CLR加載、應用程序域的創建和Web應用的初始化操作

?

五:IIS7.0和ASP.NET

? ?1.引入了windows激活服務,將原來的W3SVC承載的部分功能分流給了WAS(對非HTTP協議的支持)

? ?2.IIS7.0中對W3SVC主要三大功能改進:

? ? ? ? ?HTTP請求的接受:接受HTTP.SYS監聽到的HTTP請求 ?(W3SVC)

? ? ? ? 配置管理:從元數據庫(Metabase)中加載配置信息,對相關組件進行配置 ? (WAS)

? ? ? ?進程管理:創建、回收、監控工作進程 ?(WAS)

工作原理:WAS通過監聽器適配接口抽象出不同協議的監聽器 (基于網絡驅動HTTP.SYS提供HTTP請求監聽功能外還提供了TCP監聽器、命名管道管理器和MSMQ監聽器,以及提供基于TCP、命名管道和MSMQ傳輸協議的監聽支持)

? ?此三種監聽器相對的是3種監聽適配器,他們提供監聽器與WAS中監聽器適配器接口之間的適配(W3SVC)更多的為HTTP.SYS提供監聽適配器的作用 ?定義在程序集SMHost.exe

? ?SMHost.exe提供了4個重要的Window Serveice

? ?1.NetTcpPortSharing:為WCF提供了TCP端口共享

? 2.NetPipeActivator:為WAS提供基于命名管道的激活請求,包括命名管道監聽器和對應的監聽適配器

? ?3.NetTcpActivator: ?為WAS提供基于TCP的激活請求,包括TCP監聽器和對應的監聽適配器

? ?4.NetMsmqActivator: ? 為WAS提供了基于Msmq的激活請求,包括MSMQ監聽器和對應的監聽適配器

?

? ? ? ? 從另一方面來講 ,IIS運行在非托管的環境中,而Asp.Net管道則是托管的,IsApi是連接非托管和托管環境的紐帶

?

IIS7.0實現了Asp.Net和IIS的集成,帶來的好處:

? ?1.允許通過本地代碼和托管代碼兩種方式定義IIS Module

? ?2.將ASP.NET的URL重寫功能置于身份驗證之前

? ?3.采用相同的方式去實現、配置、檢測和支持一些服務器特性 ? Module、Handler映射、定制錯誤配置

?

轉載于:https://www.cnblogs.com/sunliyuan/p/5929248.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256284.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256284.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256284.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Halcon中visualize_object_model_3d算子詳解

概念 此函數用于顯示3d模型。該函數功能很多,包括設置位姿,顏色,鼠標翻轉、縮放、平移,選擇和取消選擇目標,降低鼠標靈敏度,切換檢查模式等。 參數 visualize_object_model_3d( : : WindowHandle, ObjectModel3D, CamParam, PoseIn, GenParamName, GenParamValue, Tit…

random()模塊隨機函數的用法總結

random()是Python中生成隨機數的函數,是由random模塊控制,random()函數不能直接訪問,需要導入random 模塊,然后再通過相應的靜態對象調用該方法才能實現相應的功能 目錄 1. random.random() 2. random.uniform() 3. random.ra…

ansible命令應用示例

ansible命令應用示例 ping slave組ansible slave -m ping 用bruce 用戶以root 身份pingansible slave -m ping -u bruce --sudo 用bruce 用戶sudo 到batman 用戶pingansible slave -m ping -u bruce --sudo --sudo-user batman 給slave組安裝ftpan…

史上超全halcon常見3D算子匯總(一)

讀取3D模型 read_object_model_3d 此算子用于讀取3D對象。 read_object_model_3d( : : FileName, Scale, GenParamName, GenParamValue : ObjectModel3D, Status) FileName:文件名,halcon支持多種3d數據格式的讀取,包括 .off, .ply, .dxf, .om3, .obj, .stl等格式。 1).…

Python:常用模塊簡介(1)

sys模塊 >>> sys.platform #返回操作系統平臺名稱 win32 >>> sys.stdin #輸入相關 <open file <stdin>, mode r at 0x000000000337B030> >>> sys.stdout #輸出相關 <open file <stdout>, mode w at 0x000000000337…

【圖像處理】——Python實現圖像加噪(隨機噪聲、椒鹽噪聲、高斯噪聲等)

目錄 1、隨機噪聲 2、椒鹽噪聲 3、高斯噪聲 補充:numpy.clip函數 4、其他噪聲 1、隨機噪聲 隨機噪聲就是通過隨機函數在圖像上隨機地

100NED

將生活融入編程轉載于:https://www.cnblogs.com/nedhome/p/5036680.html

Windows10 VS2019下使用CMake3.20.1打開PCL1.11.0程序

安裝CMake 為什么要使用cmake cmake 是kitware 公司以及一些開源開發者在開發幾個工具套件(VTK)的過程中衍生品&#xff0c;成為一個獨立的開放源代碼項目。 CMake是一個很強大的編譯配置工具&#xff0c;支持多種平臺和編譯器&#xff0c;通過編寫CMakeLists.txt&#xff0c…

Java 并發---ConcurrentHashMap

concurrent包下的并發容器 JDK5中添加了新的concurrent包&#xff0c;相對同步容器而言&#xff0c;并發容器通過一些機制改進了并發性能。因為同步容器將所有對容器狀態的訪問都串行化了&#xff0c;這樣保證了線程的安全性&#xff0c;所以這種方法的代價就是嚴重降低了并發性…

【圖像處理】——圖像濾波(Python+opencv實現三種方法:均值濾波、中值濾波、高斯濾波等)

目錄 一、什么是濾波以及濾波的目的? 二、均值濾波(cv2.blur()) 1、原理 2、關鍵代碼

UIScrollView事件攔截

在日常的開發中,我們經常會用到UIScrollView,然而,它是一個問題頻出的控件,比如在nib中使用它就必須手動為它創建一個ContentView.當然了使用春代碼的時候使用了懶加載機制使得它能夠擁有一個contentView,今天我們不談這個問題,我們來談談UIScrollView的事件攔截相關的知識. 在…

Windows10下安裝QT5.14.2并用VS2019打開

安裝 從官網下載&#xff1a;QT 安裝方法僅需要注意&#xff1a; 1.最好不要安裝在C盤。 2.根據開發需要安裝功能模塊&#xff0c;具體見參考文章。 https://jingyan.baidu.com/article/656db918d9292ae380249c4f.html 因為是用于PCL編程的&#xff0c;所以只選了msvc2017_64,…

【圖像處理】——圖像質量評價指標信噪比(PSNR)和結構相似性(SSIM)(含原理和Python代碼)

目錄 一、信噪比(PSNR) 1、信噪比的原理與計算公式 2、Python常規代碼實現PSNR計算 3、TensorFlo

Error和Exception的區別

Error&#xff1a;值得是指與虛擬機相關的問題&#xff0c;比如虛擬機崩潰&#xff0c;虛擬機錯誤&#xff0c;內存空間不足&#xff0c;方法調用棧溢出。 對于這類錯誤應建議中斷。 Exception&#xff1a;是指程序員可以處理的異常&#xff0c;可以捕獲并且能夠恢復&#xf…

JAVA TCP/IP網絡通訊編程(二)

一個實例通過client端和server端通訊 客戶端通過TCP/IP傳輸資源文件&#xff0c;比如圖片&#xff0c;文字&#xff0c;音頻&#xff0c;視頻等..... 服務端接受到文件存入本地磁盤&#xff0c;返回接受到&#xff1a;“收到來自于"s.getInetAddress().getHostName()"…

C#中json序列化與反序列化

json格式概念 JSON(JavaScript Object Notation) 是一種輕量級的數據傳輸格式&#xff0c;其采用完全獨立于語言的文本格式&#xff0c;使JSON成為理想的數據交換語言。 json由兩種格式組成。 1.名稱/值”對的集合&#xff0c;可以一起創建多個"名稱 / 值對"。 { “…

volley用法之 以post方式發送 json 參數

需求是這樣 我們需要發送一個post請求向服務器要參數。要求是發送的post參數也要是json格式。 簡單一點的是這樣的&#xff1a; 如果要發送的是這樣簡單的json格式&#xff0c;我們可以簡單的使用map來實現&#xff1a; RequestQueue requestQueue Volley.newRequestQueue(get…

我的友情鏈接

小小忍者Tab轉載于:https://blog.51cto.com/12737170/2043087

JAVA 文件編譯執行與虛擬機(JVM)簡單介紹

詳見&#xff1a;http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的內存分配 JAVA 文件編譯執行與虛擬機(JVM)介紹 Java 虛擬機(JVM)是可運行Java代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上&#xff0c;就能保證經過編譯的任…