2012-02-19 370 views
0

我想在64位主機在IIS 7 32位應用程序的Windows 2008。當我訪問該網站使用默認模塊啓用我得到這個錯誤 -StaticCompressionModule和IIS的32位和64位的Windows DynamicCompressionModule

HTTP Error 500.19 - Internal Server Error 
The requested page cannot be accessed because the related configuration data for the page is invalid. 
Module: DynamicCompressionModule 
Notification: SendResponse 
Handler: StaticFile 
Error Code: 0x8007007e 

如果我刪除了StaticCompressionModule和DynamicCompressionModule,那麼該網站就可以工作。

我可以在不禁用這些模塊的情況下工作嗎?

回答

0

32位版本,最後,我無法得到它,而無需禁用這兩個模塊的工作。值得注意的是,如果您使用Visual Studio將您的應用程序部署到IIS服務器上,您的應用程序配置將會覆蓋服務器上的內容,從而重新啓用這兩個模塊。您需要禁用配置文件中的模塊。

2

微軟KB說

出現此問題的原因ApplicationHost.config文件或Web.config文件引用了一個模塊或DLL無效或不存在。

嘗試啓用在應用程序池配置32位應用程序

編輯:

實測值如下因素

對於以上特定的錯誤(在這個例子中提到),DynamicCompressionModule模塊是造成麻煩。這是因爲隨WSUS一起安裝的XPress壓縮方案模塊(suscomp.dll)。由於壓縮方案是全局定義的,並且嘗試在每個應用程序池中加載,因此當64位版本的suscomp.dll嘗試加載以32位模式運行的應用程序池時,會導致此錯誤。

此模塊入口的樣子:

因此,要擺脫這個問題的:

Ø刪除/使用下面的命令禁止從配置的Xpress壓縮方案:

%WINDIR %\ system32 \ inetsrv \ appcmd.exe set config -section:system.webServer/httpCompression/- [name ='xpress']

Ø使用suscomp.dll

+0

我已經啓用它。網站沒有我提到的那兩個模塊。這兩個DLL都存在於windows \ system32 \ inetsrv文件夾中。 – NoPyGod 2012-02-19 21:04:41

+0

@NoPyGod請參閱更新 – 2012-02-19 21:13:33

+0

32位版本在這裏是C:\ Windows \ system32 \ inetsrv \ suscomp.dll它應該在哪裏。我試圖避免全局禁用IIS服務器上的東西,因爲它是公司服務器,它承載了其他應用程序。 – NoPyGod 2012-02-19 21:58:48