中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IIS7報500.23錯誤的解決方法

發布時間:2020-07-31 10:29:18 來源:網絡 閱讀:1448 作者:pizibaidu 欄目:開發技術

背景:今天公司終端上有一個功能打開異常,報500錯誤,我用Fiddler找到鏈接,然后在IE里打開,報500.23錯誤:檢測到在集成的托管管道模式下不適用的ASP.NET設置。后臺是一個IIS7tomcat7集成的環境,此處記錄一下。

 

HTTP 錯誤 500.23 - Internal Server Error

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

IIS7報500.23錯誤的解決方法


 

為什么會出現以上錯誤?

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

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

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

兩種解決方法:

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

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



IIS7報500.23錯誤的解決方法


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


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

注: web.config路徑C:\inetpub\wwwroot\web.config

例如原先設置(你的環境中可能沒有httpModuleshttpHandlers節點)

<system.web>

 

    ............

 

    <httpModules>

        <add name="MyModule"type="MyApp.MyModule" />

    </httpModules>

    <httpHandlers>

      <add path="*.myh"verb="GET"type="MyApp.MyHandler" />

    </httpHandlers>

 

 

</system.web>

 IIS7應用程序池為集成模式時,改為:

<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>

 

</system.webServer>

 (如果你的web.config沒有httpModuleshttpHandlers節點,則直接在節點system.webServer中添加:

<validation validateIntegratedModeConfiguration="false" /> 

禁止驗證集成模式,來避免錯誤。

 


 

IIS Log的位置

IIS 6.0的Log日志存儲在:

c:\windows\system32\logfiles\

 

IIS 7 Log存儲在:

%SystemDrive%\inetpub\logs\LogFiles

 

經過我的測試, IIS日志是即時寫入的, 不需要IIS reset.

 

IIS 6, 7的日志寫入按不同站點寫入不同的文件夾, 位置文件夾的格式都是"w3svc{siteId}".

IIS6里, 查看站點ID的方式是通過IIS log的文件夾的名字來確定Site ID.

IIS7中, 在IIS管理器中的advanced settings中, General里的ID就是Site ID, 然后你需要通過這個ID來定位LogFiles文件夾中哪一個文件夾屬于你要查看的站點.


 

Intergrated和Classic的區別

 

IIS7的Application Pools有兩種mode,一種是Integrated,一種是classic。如果使用Integrated模式,那么對自定義的httpModules和httpHandlers就要修改配置文件了,需要將他們轉移到<modules>和<hanlders>節里去。

IIS7的兩種模式和IIS6有什么區別?

IIS7.0 Integrated modeasp.net 的modules和handlers從<system.webServer>下的<modules> 和<handlers>里讀取,以前的<system.web>下的<httpModules> 和<httpHandlers>配置節會被忽略,如果設置禁止驗證(disabledvalidation),是不會產生錯誤的。

IIS7.0 Classic mode 與 以上情況是相反的,<modules>和<handlers>會被忽略。

 

Classic vs Integrated

Classic mode (theonly mode in IIS6 and below) is a mode where IIS only works with ISAPIextensions and ISAPI filters directly. In fact, in this mode, Asp.net is justan ISAPI extension (aspnet_isapi.dll) and an ISAPI filter(aspnet_filter.dll).IIS just treats Asp.net as an external plugin implemented in ISAPI and workswith it like a black box (and only when it's needs to give out the request toASP.NET). In this mode, Asp.net is not much different from PHP or other technologies for IIS.

經典模式是IIS6.0以及以下版本的唯一工作模式(只工作在ISAPI EXTENSION,ISAPI FILTERS下)。在此種模式下asp.net只是一個分別實現了ISAPIEXTENSION和ISAPI FILTER的插件(aspnet_isapi.dll,aspnet_filter.dll),IIs的工作只是將特定的請求轉發給Asp.net,與 PHP等等寄宿在IIS中的插件別無二致。

 

Integrated mode,on the other hand, is a new mode in IIS7 where IIS pipeline is tightlyintegrated (i.e. is just the same) as Asp.net request pipeline. ASP.NET cansee every request it wants to and manipulate things along the way. ASP.NET isno longer treated as an external plugin. It's completely blended and integratedin IIS. In this mode, Asp.net HttpModules basically have nearly as much poweras an ISAPI filter would have had and Asp.net HttpHandlers can have nearlyequivalent capability as an ISAPI extension could have. In this mode, Asp.netis basically a part of IIS.

然而在集成模式里,IIS的管道與Asp.net的請求管道是緊密集成 的,Asp.net可以完全控制,訪問整個請求管道。Asp.net不在作為一個外部插件,而是完全集成在IIS中。在此模式下,Asp.net HttpModules與ISAPI Filter擁有等同的控制權,Asp.net HttpHandlers與ISAPI Extension擁有等同控制權,換而言之Asp.net已經是IIS的一部分了。

 如 果要兼顧IIS6及IIS7,可在web.config中同時保留httpHandlers(for IIS6)及handlers(for IIS7)里的相同定義,但記得要加上<validation validateIntegratedModeConfiguration="false"/>,不然IIS7會因為定義重覆出現而發生錯誤。

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 玛纳斯县| 邛崃市| 柏乡县| 清水河县| 珲春市| 虞城县| 南漳县| 仁怀市| 聂荣县| 余江县| 甘南县| 鄂托克前旗| 沭阳县| 衡水市| 湖北省| 穆棱市| 云阳县| 焦作市| 沁水县| 大冶市| 田阳县| 车险| 秦皇岛市| 溧水县| 昌邑市| 贵定县| 岚皋县| 皮山县| 巩留县| 合水县| 花莲县| 会宁县| 桐梓县| 陇川县| 廉江市| 普陀区| 东乡| 凤山县| 周宁县| 六安市|