Windows Server 2003 64 位版本的 IIS 在 32 位模式下運行

 
IIS 6.0 可支持 32 位和 64 位兩種模式。但是,IIS 6.0 不支持在 64 位版本的 Windows 上同時運行這兩種模式。ASP.NET 1.1 只在 32 位模式下運行。而 ASP.NET 2.0 在 32 位或 64 位模式下都可以運行。因此,如果想要同時運行 ASP.NET 1.1 和 ASP.NET 2.0,必須在 32 位模式下運行 IIS。

     要在 ASP.NET 的不同版本之間切換,請訪問以下 Microsoft Developer Network (MSDN) 網站以下載並安裝 ASP.NET 1.1 和 ASP.NET 2.0:
http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx (http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx)

     例如,如果您正在運行 Microsoft Windows x64 Edition,請下載以下兩種可再發行組件包:
.NET Framework 版本 2.0 可再發行組件包 x64(64 位)
.NET Framework 版本 1.1 可再發行組件包

     安裝可再發行組件包後,您就可以在 ASP.NET 的不同版本之間切換了。爲此,應對每個 ASP.NET 版本完成以下操作步驟:

     ASP.NET 1.1,32 位版本
要運行 32 位版本的 ASP.NET 1.1,按照以下步驟操作:
單擊“開始”,單擊“運行”,鍵入 cmd,然後單擊“確定”。
鍵入以下命令啓用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
鍵入以下命令,安裝 ASP.NET 1.1 版本並在 IIS 根目錄下安裝腳本映射:
%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
確保在 Internet 信息服務管理器的 Web 服務擴展列表中,將 ASP.NET 版本 1.1.4322 的狀態設置爲允許。

    ASP.NET 2.0,32 位版本
要運行 32 位版本的 ASP.NET 2.0,請按照以下步驟操作:
單擊“開始”,單擊“運行”,鍵入 cmd,然後單擊“確定”。
鍵入以下命令啓用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
鍵入以下命令,安裝 ASP.NET 2.0(32 位)版本並在 IIS 根目錄下安裝腳本映射:
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
確保在 Internet 信息服務管理器的 Web 服務擴展列表中,將 ASP.NET 版本 2.0.40607(32 位)的狀態設置爲允許。

    ASP.NET 2.0,64 位版本
要運行 64 位版本的 ASP.NET 2.0,請按照以下步驟操作:
單擊“開始”,單擊“運行”,鍵入 cmd,然後單擊“確定”。
鍵入以下命令禁用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
鍵入以下命令,安裝 ASP.NET 2.0 版本並在 IIS 根目錄下安裝腳本映射:
%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i
確保在 Internet 信息服務管理器的 Web 服務擴展列表中,將 ASP.NET 版本 2.0.40607 的狀態設置爲允許。
注意:ASP.NET 2.0 的內部版本可能隨當前發行的內部版本的變化而變化。這些步驟適用於內部版本 2.0.40607。

以下內容來自:http://support.microsoft.com/?id=895976

     在 64 位版本的 Windows Server 2003 已安裝 SP 1 的上, IIS 啓動 32 位輔助進程或 64 位工作進程,根據爲以下元數據庫屬性中的值:
W 3 SVC / AppPool / Enable32bitAppOnWin64
IIS 6.0 啓動 64 位工作進程 Enable32bitAppOnWin64 屬性值爲 0 時或當屬性爲缺少。 如果該 Enable32bitAppOnWin64 屬性是存在屬性,且值是 0 以外,IIS 6.0 將啓動 32 位工作進程。

     IIS 6.0 不能確保該配置 ISAPI 篩選器 DLL 和 ISAPI 擴展 DLL 可以實際加載工作進程中。 您必須確保僅 32 位 ISAPI DLL 被配置爲 32 位工作進程中加載或只有 64 位 ISAPI DLL 被配置爲在 64 位工作進程中加載。

     如果配置 32 位 ISAPI 篩選器在 64 位工作進程中加載的 DLL 或配置 64 位 ISAPI 篩選器 DLL 加載 32 位工作進程中,與以下內容類似的錯誤消息可能被寫入應用程序日誌:
------------------------------------------
事件類型: 錯誤
事件來源: W3SVC-WP
事件類別: 無
事件 ID: 2268

說明:
無法加載站點 / 服務的所有 ISAPI 篩選器。 因此啓動中止。
數據: 0000: c 1 00 00 00
------------------------------------------

     如果您配置 32 位 ISAPI 擴展 DLL 加載 64 位工作進程中,或者如果您配置 64 位 ISAPI 擴展 DLL 加載 32 位工作進程中,也可能會收到 500 錯誤響應的包含以下文本:
------------------------------------------
%1 不是有效的 Win 32 應用程序
------------------------------------------

     我們還建議您使用 32 位調試程序來解決 32 位 Web 應用程序。 或者,使用 64 位調試程序解決 64 位 Web 應用程序。 轉儲文件信息可能無法準確如果使用下列方法之一:
您可以使用 64 位調試程序調試一個 32 位進程或應用程序。
您使用 32 位調試器調試 64 位進程或應用程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章