[英]Custom handlers for ASP.NET 2.0 Website in Classic mode in IIS 8.5 throwing 500 error
我有以經典模式運行的ASP.NET 2.0網站。 服務器2001 / IIS 8.5。 調用自定義處理程序(something.abc)時出現此錯誤。
我將我的處理程序(something.abc)添加到<system.webServer><handlers>
部分
<add name="Something.abc" verb="GET,HEAD" path="something.abc" type="ABC.MyHttpHandler, ABC" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified"/>
在本地IIS Express中運行正常。
在服務器上,當我更改應用程序池設置時: Enable 32-bit Applications = True,它開始工作。
問題:為什么我必須轉換為32位模式,並且有什么方法可以使它在不啟用32位的情況下工作?
我在帶有IIS 10的新Windows Server 2016機器上運行的應用程序遇到了此問題。
它在舊的Server 2012機器上工作,因為該機器安裝了32位Oracle客戶端,但是新服務器安裝了64位Oracle客戶端,因此我無法設置Enable 32-bit Applications = True,而不會導致其他問題。
還設置了工作進程以使用經典管道而不是集成管道 ,這是我無法更改的另一種設置,以便使其正常運行。 ASP.NET也已正確安裝。 (即此解決方案對我沒有幫助。)
我有:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="Something.abc" verb="*" path="something.abc" type="ABC.MyHttpHandler, ABC" resourceType="Unspecified" />
of these attributes (it did not work with only one or the other): 為了解決這個問題,我同時添加了以下屬性(它不適用於一個或另一個):
modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
即最終結果是:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="Something.abc" verb="*" path="something.abc" type="ABC.MyHttpHandler, ABC" resourceType="Unspecified" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.