欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

IIS報錯:檢測到在集成的托管管道模式下不適用的ASP.NET設置的解決方法(非簡單設置為【經典】模式)

admin
2017年9月8日 12:7 本文熱度 16996
IIS報錯:檢測到在集成的托管管道模式下不適用的ASP.NET設置的解決方法(非簡單設置為【經典】模式)


 我們將ASP.NET程序從IIS6移植到IIS7,可能運行提示以下錯誤:

  HTTP 錯誤 500.23 - Internal Server Error

  檢測到在集成的托管管道模式下不適用的 ASP.NET 設置。

  為什么會出現(xiàn)以上錯誤?

  在IIS7的應用程序池有兩種模式,一種是“集成模式”,一種是“經典模式”。

  經典模式 則是我們以前習慣的IIS 6 的方式。

  如果使用集成模式,那么對自定義的httpModules 和 httpHandlers 就要修改配置文件,需要將他們轉移到節(jié)里去。

  兩種解決方法:

第一種方法:配置應用程序池

  在IIS7上配置應用程序池,并且將程序池的模式改為“經典”,之后一切正常。如圖:

在搜索引擎輸入上面提示的錯誤消息,搜索到的結果幾乎都是直接改為“經典”便淺嘗輒止了。

但這樣只是權宜之計,用了IIS7.x,但實際只發(fā)揮了6的功能,另外,在一些ASP.NET MVC程序中的效果也不好,所以,我們嘗試以下解決方法:

第二種方法:修改web.config配置文件:

例如原先設置(你的環(huán)境中可能沒有httpModules,httpHandlers節(jié)點)

<system.web>
    ............
    <httpModules>
        <add name="MyModule" type="MyApp.MyModule" />
    </httpModules>
    <httpHandlers>
      <add path="*.myh" verb="GET" type="MyApp.MyHandler" />
    </httpHandlers>
</system.web>

在IIS7應用程序池為“集成模式”時,改為:(httpModules改為modules,httpHandlers改為Handlers了)

<system.web>
    ...........
</system.web>
<system.webServer>
    <modules>
      <add name="MyModule" type="MyApp.MyModule" />      
    </modules>
    <handlers>
      <add name="MyHandler" path="*.myh" verb="GET" type="MyApp.MyHandler" preCondition="integratedMode" />
    </handlers>
    <validation validateIntegratedModeConfiguration="false" />
</system.webServer>

如果你的web.config沒有httpModules、httpHandlers節(jié)點,或者沒有上面紅色內容,則直接在上面節(jié)點system.webServer中添加紅色位置內容上去即可:

    <validation validateIntegratedModeConfiguration="false" />

這樣可以禁止驗證集成模式,避免錯誤提示了。


該文章在 2017/9/8 12:39:40 編輯過

全部評論1

admin
2017年9月8日 12:36

經典模式(classic mode)VS 集成模式(Integrated mode)

經典模式下,IIS會用ISAPI擴展(ISAPI extension aspnet_isapi.dll)和 ISAPI過濾器(ISAPI filter aspnet_filter.dll)來調用ASP.NET運行庫來處理請求。如果使用經典模式的話,服務器會用兩種管道來處理請求一個負責源代碼,另外一個負責托管代碼。在這種模式下,應用程序不能充分使用IIS7.X提供的服務。
 
集成模式是一種統(tǒng)一的請求處理管道,它將ASP.NET請求管道與IIS核心管道組合在一起。在集成模式下,ASP.NET從IIS插件(IIS extension)的角色進入了IIS的核心去監(jiān)測每個請求和操作。在集成模式下,ASP.NET能更有效的在IIS下運行,并且可以有效的提高網站的性能。 有些在IIS6開發(fā)的代碼需要運行于經典模式,因為在集成模式下會出現(xiàn)錯誤信息。
 
要想更有效的使用IIS7提供的服務, 建議將網站放在集成模式下,然后根據錯誤信息的提示解決那個問題。


IIS 6 以及 IIS7 經典模式的托管管道的架構

       在IIS7之前,ASP.NET 是以 IIS ISAPI extension 的方式外加到 IIS,其實包括 ASP 以及 PHP,也都以相同的方式配置(PHP 在 IIS 采用了兩種配置方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系統(tǒng)管理者能選擇 PHP 程序的執(zhí)行方式),因此客戶端對 IIS 的 HTTP 請求會先經由 IIS 處理,然后 IIS 根據要求的內容類型,如果是 HTML 靜態(tài)網頁就由 IIS 自行處理,如果不是,就根據要求的內容類型,分派給各自的 IIS ISAPI extension;如果要求的內容類型是 ASP.NET,就分派給負責處理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。下圖是這個架構的示意圖。

IIS  7 應用程序池的托管管道模式  經典  模式也是這樣的工作原理。 這種模式是兼容IIS 6 的方式, 以減少升級的成本。

 

IIS  7 應用程序池的 托管管道模式  集成模式

       而 IIS 7 完全整合 .NET 之后,架構的處理順序有了很大的不同(如下圖),最主要的原因就是 ASP.NET 從 IIS 插件(ISAPI extension)的角色,進入了 IIS 核心,而且也能以 ASP.NET 模塊負責處理 IIS 7 的諸多類型要求。這些 ASP.NET 模塊不只能處理 ASP.NET 網頁程序,也能處理其他如 ASP 程序、PHP 程序或靜態(tài) HTML 網頁,也因為 ASP.NET 的諸多功能已經成為 IIS 7 的一部份,因此 ASP 程序、PHP 程序或靜態(tài) HTML 網頁等類型的要求,也能使用像是Forms認證(Forms Authentication)或輸出緩存(Output Cache)等 ASP.NET 2.0 的功能(但須修改 IIS 7 的設定值)。也因為 IIS 7 允許自行以 ASP.NET API 開發(fā)并加入模塊,因此 ASP.NET 網頁開發(fā)人員將更容易擴充 IIS 7 和網站應用程序的功能,甚至能自行以 .NET 編寫管理 IIS 7 的程序(例如以程控 IIS 7 以建置網站或虛擬目錄)。

 


 

參考資料:

小結

   IIS 內部運行機制_知識庫_博客園
      http://kb.cnblogs.com/page/119174/

  IIS5 到 IIS6 的改進,主要是 HTTP.sys 的改進。

  IIS6 到 IIS7 的改進,主要是 ISAPI 的改進。

  參考資料:

  ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI

  http://www.cnblogs.com/artech/archive/2007/09/09/887528.html

  ASP.NET Internals – IIS and the Process Model

  http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel.aspx

  模組化的IIS 7 與.NET 能力整合

  http://www.microsoft.com/taiwan/technet/columns/profwin/33-iis7-componentization-integration.mspx

  Introduction to IIS 7.0 Architecture

  http://learn.iis.net/page.aspx/101/introduction-to-iis7-architecture/

  關于IIS7.5下的web.config配置的一些問題_WEB服務器_網站架構
  http://www.codesky.net/article/201103/161589.html


該評論在 2017/9/8 12:37:30 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved