日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
IIS7.5應(yīng)用程序池集成模式和經(jīng)典模式的區(qū)別介紹

在 IIS 7.5 中,應(yīng)用程序池有兩種運(yùn)行模式:集成模式和經(jīng)典模式。

應(yīng)用程序池模式會(huì)影響服務(wù)器處理托管代碼請(qǐng)求的方式。

如果托管應(yīng)用程序在采用集成模式的應(yīng)用程序池中運(yùn)行,服務(wù)器將使用 IIS 和 ASP.NET 的集成請(qǐng)求處理管道來處理請(qǐng)求。

如果托管應(yīng)用程序在采用經(jīng)典模式的應(yīng)用程序池中運(yùn)行,服務(wù)器會(huì)繼續(xù)通過 Aspnet_isapi.dll 路由托管代碼請(qǐng)求,其處理請(qǐng)求的方式就像應(yīng)用程序在 IIS 6.0 中運(yùn)行一樣。

經(jīng)典模式:

  指的是與IIS 6或者之前版本保持兼容的一種模式,一個(gè)典型問題就是,在處理ASP.NET這種動(dòng)態(tài)網(wǎng)站的時(shí)候,它是通過一個(gè)所謂的ISAPI程序,作為插件的方式來工作的。針對(duì)不同的動(dòng)態(tài)應(yīng)用程序(例如ASP,PHP等),會(huì)需要不同的ISAPI。

集成模式:

  這種全新的模式,允許我們將ASP.NET更好地與IIS集成,甚至允許我們?cè)贏SP.NET中編寫一些功能(例如Module)來改變IIS的行為(擴(kuò)展)。集成的好處是,不再通過ISAPI的方式,提高了速度和穩(wěn)定性。至于擴(kuò)展,則可以使得我們對(duì)于IIS以及其他類型的請(qǐng)求有更多的控制。

升級(jí)過程中出現(xiàn)了比較多的問題,前面文章也提到過幾個(gè)。這次就主要介紹下httpHandler 和 httpModule 在集成和經(jīng)典模式下的區(qū)別。很多文件上傳等都是需要使用到httpModule去實(shí)現(xiàn)。我今天就出現(xiàn)了NeatUpload在iis7.5下出現(xiàn)未將對(duì)象引用到設(shè)計(jì)實(shí)例的錯(cuò)誤。所以用httpModule作為測(cè)試案例。

1.新建測(cè)試網(wǎng)站W(wǎng)ebApplication,加入MyHttpModule類實(shí)現(xiàn)IHttpModule接口,主要目的是測(cè)試程序是否經(jīng)過了HttpModule,經(jīng)過的在頁(yè)面輸出HttpModule字符。

public class MyHttpModule : IHttpModule 
{ 
public void Dispose() 
{ 
} 
public void Init(HttpApplication context) 
{ 
context.BeginRequest += context_BeginRequest; 
} 
protected void context_BeginRequest(object sender, EventArgs e) 
{ 
var context = sender as HttpApplication; 
context.Response.Clear(); 
context.Response.Write("HttpModule"); 
context.Response.End(); 
} 
} 

2、2.在IIS7.5部署網(wǎng)站,首先使用經(jīng)典模式應(yīng)用程序池。在web.config的 的子節(jié)點(diǎn) 加入

 
 
 
 
 
 
 
 
 
 

訪問網(wǎng)站可以發(fā)現(xiàn)頁(yè)面輸出如下,說明程序經(jīng)過了HttpModule

直接切換應(yīng)用程序池成集成模式會(huì)發(fā)現(xiàn)頁(yè)面輸出為空。證明程序沒有經(jīng)過HttpModule。那在集成模式下HttpModule如何才能執(zhí)行呢? 之前部署URLRewriter的時(shí)候查資料只知道需要  注冊(cè)HttpModule。仔細(xì)查看配置文件會(huì)發(fā)現(xiàn)有一段如下英文.意思大概就是iis7版本的設(shè)置。之前版本無需設(shè)置。

這樣就大概明白意思是iis7.0之后有部分web配置移動(dòng)到system.webServer中。查閱相關(guān)得到答案確實(shí)如此 詳細(xì)資料見 http://www.cnblogs.com/buaaboyi/archive/2011/01/20/1939903.html

于是在 中加入配置如下,刷新頁(yè)面,頁(yè)面能夠輸出字符HttpModule,證明成功了。

 
 
 
 
 
 

由于在升級(jí)過程成有一個(gè)站點(diǎn)出現(xiàn) HTTP 錯(cuò)誤 500.22 - Internal Server Error 檢測(cè)到在集成的托管管道模式下不適用的 ASP.NET 設(shè)置


當(dāng)時(shí)在比較急的情況下就直接刪除了 的子節(jié)點(diǎn) 程序正常運(yùn)行。后面通過仔細(xì)和正常的站點(diǎn)對(duì)比是發(fā)現(xiàn)是缺少 這個(gè)導(dǎo)致,這個(gè)主要作用是設(shè)置不檢測(cè) 中的配置

經(jīng)過這今天的折騰終于是對(duì)iis7.5上的部署有了一定了解了。


文章名稱:IIS7.5應(yīng)用程序池集成模式和經(jīng)典模式的區(qū)別介紹
轉(zhuǎn)載來于:http://www.5511xx.com/article/cdjscoj.html