麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > IIS > 正文

IIS7.5應用程序池集成模式和經典模式的區別介紹

2024-08-29 03:15:03
字體:
來源:轉載
供稿:網友
升級過程中出現了比較多的問題,前面文章也提到過幾個。這次就主要介紹下httpHandler 和 httpModule 在集成和經典模式下的區別。很多文件上傳等都是需要使用到httpModule去實現。我今天就出現了NeatUpload在iis7.5下出現未將對象引用到設計實例的錯誤。所以用httpModule作為測試案例。

1.新建測試網站WebApplication,加入MyHttpModule類實現IHttpModule接口,主要目的是測試程序是否經過了HttpModule,經過的在頁面輸出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部署網站,首先使用經典模式應用程序池。在web.config的 <system.web> 的子節點<httpModules> 加入<add type="WebApplication.MyHttpModule, WebApplication"/>

復制代碼 代碼如下:


<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>
<httpModules>
<add type="WebApplication.MyHttpModule, WebApplication"/>
<add type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>


訪問網站可以發現頁面輸出如下,說明程序經過了HttpModule

直接切換應用程序池成集成模式會發現頁面輸出為空。證明程序沒有經過HttpModule。那在集成模式下HttpModule如何才能執行呢? 之前部署URLRewriter的時候查資料只知道需要 <system.webServer> <modules>注冊HttpModule。仔細查看配置文件會發現有一段如下英文.意思大概就是iis7版本的設置。之前版本無需設置。
<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
這樣就大概明白意思是iis7.0之后有部分web配置移動到system.webServer中。查閱相關得到答案確實如此 詳細資料見

于是在<system.webServer> <modules>中加入配置如下,刷新頁面,頁面能夠輸出字符HttpModule,證明成功了。

復制代碼 代碼如下:


<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove />
<add type="WebApplication.MyHttpModule, WebApplication"/>
<add preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>


由于在升級過程成有一個站點出現 HTTP 錯誤 500.22 - Internal Server Error 檢測到在集成的托管管道模式下不適用的 ASP.NET 設置

IIS7.5應用程序池集成模式和經典模式的區別介紹


當時在比較急的情況下就直接刪除了 <system.web> 的子節點<httpModules> 程序正常運行。后面通過仔細和正常的站點對比是發現是缺少 <validation validateIntegratedModeConfiguration="false"/> 這個導致,這個主要作用是設置不檢測 <system.web>中的配置

經過這今天的折騰終于是對iis7.5上的部署有了一定了解了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级不卡毛片 | 欧美a一| 国产69精品久久久久99尤 | 国产一区二区三区四区在线 | 成人做爽爽爽爽免费国产软件 | 免费看毛片网站 | 久久久免费观看完整版 | 日韩黄色三级视频 | 欧美一级精品片在线看 | av在线免费网 | 亚洲精品一区二区三区免 | v11av在线视频成人 | 国产一精品久久99无吗一高潮 | 狠狠操操 | 日韩视频一区二区三区在线观看 | 国产一区二区免费看 | 成人毛片免费 | 亚洲网站在线观看视频 | 日韩一级成人 | 高颜值美女啪啪 | 免费国产a | 777午夜精品视频在线播放 | 色视频在线播放 | 第四色成人网 | 欧美大电影免费观看 | 日本中文字幕高清 | 国产午夜亚洲精品理论片大丰影院 | 久久精品亚洲精品国产欧美kt∨ | 国产九九在线视频 | 欧美视频国产精品 | 欧美日韩一区,二区,三区,久久精品 | 久久亚洲精品国产一区 | 日韩黄色一级视频 | 妇子乱av一区二区三区 | 国产午夜精品一区二区三区免费 | 久久金品 | 国产一国产一级毛片视频在线 | 毛片在线看免费 | 久久久久久久久久亚洲精品 | www.成人在线 | 黄色av网站免费 |