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


     在將應用程序從經典模式遷移到集成模式時,可以保留經典模式下的自定義模塊和處理程序注冊,也可以將這些注冊移除。如果不移除經典模式下使用的 httpModules 和 httpHandlers 注冊,則必須將 validation 元素的 validateIntegratedModeConfiguration 屬性設置為 false 以避免錯誤。如果保留自定義模塊,添加以下代碼:

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />   
  </system.webServer>

 

如果僅僅是將集成模式改成經典模式,那么就是治標不治本了。

 

轉摘一篇文章:  

關於ESPS和SCSJ在Windows server 2008的問題總結

SCSJ出現的問題在於集成模式和經典模式的選擇上,系統本身是沒有問題的。我們在部署系統的時候,選擇了集成模式,導致WebConfig的HttpHandlers節點無法訪問。

在集成模式中,HTTP模塊和HTTP處理程序不再定義於<system.web>中,而定義於<system.webServer>中。如果在集成模式中運行一個包括了HTTP模塊或HTTP處理程序的web.config文件,那么將會發生失效。

因為集成模式下,要想運行HTTP處理程序,必須在配置文件中添加一個<system.webServer>\<handlers>節點代替經典模式下的<system.web>\<httpHandler>節點。進行這種轉換后,程序HTTP處理程序成功執行。

具體的轉換方式如下:

在經典模式中,HTTP處理程序注冊方式是添加一個<system.web>\<httpHandler>節點:

 

在集成模式中,HTTP處理程序注冊方式是添加一個<system.webServer>\<handlers>節點:

 

使用集成模式,申請人姓名無法帶出來,除非改成經典模式。

 

使用集成模式,申請人可以帶出來,因為使用了<system.webServer>\<handlers>節點進行HTTP處理程序的注冊

 

 

結論:本人覺得非常遺憾,兩個系統之所以出錯,其實都與程序無關,而與服務器的部署有關,關於這個問題的責任,其實也是程序員和系統管理員共同的責任。首先程序員不懂得windows server 2008的部署,不同的系統,不同的程序,其部署的選項隨程序的寫法而有所不同,我們不能怪系統管理員,因為系統管理員對系統的程序是不清楚的,所以我們不能祈求系統管理員能夠幫我們部署成功。所以作為程序員,我們對系統的部署是要非常清楚的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM