IIS7.5 错误代码0x8007007e HTTP 错误 500.19

目录

问题案例 

解决问题

参考资料

问题案例

今天在win2008+IIS7.5的环境中部署WCF服务后,一直出现无法打开的页面。具体错误信息如下:

HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
详细错误信息
模块 DynamicCompressionModule
通知 SendResponse
处理程序 StaticFile
错误代码 0x8007007e
请求的 URL ***
物理路径 C:\ECG2.0\eWECGService
登录方法 匿名
登录用户 匿名
最可能的原因:
工作进程无法读取 applicationhost.config 或 web.config 文件。
applicationhost.config 或 web.config 文件中存在格式错误的 XML。
由于 NTFS 权限不正确,服务器无法访问 applicationhost.config 或 web.config 文件。
可尝试的操作:
查询事件日志中有关配置文件不可读的原因的信息。
确保为应用程序池指定的用户标识或通过身份验证的用户具有访问 web.config 文件的必需权限。

 

解决问题

 

#Remove/Disable the XPress compression scheme from the configuration using the command below:

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

 

参考资料

地址:http://blogs.msdn.com/b/webtopics/archive/2010/03/08/troubleshooting-http-500-19-errors-in-iis-7.aspx

Error Message:

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 
Requested URL http://localhost:80/ 
Physical Path C:\inetpub\wwwroot 
Logon Method Anonymous 
Logon User Anonymous

Reason:

Error Code 0x8007007e is:

ERROR_MOD_NOT_FOUND - The specified module could not be found.

This problem occurs because the ApplicationHost.config file or the Web.config file references a module that is invalid or that does not exist. To resolve this problem: In the ApplicationHost.config file or in the Web.config file, locate the module reference or the DLL reference that is invalid, and then fix the reference. To determine which module reference is incorrect, enable Failed Request Tracing, and then reproduce the problem.

For above specific error (mentioned in this example), DynamicCompressionModule module is causing the trouble. This is because of the XPress compression scheme module (suscomp.dll) which gets installed with WSUS. Since Compression schemes are defined globally and try to load in every application Pool, it will result in this error when 64bit version of suscomp.dll attempts to load in an application pool which is running in 32bit mode.

This module entry looks like:

<scheme name="xpress" doStaticCompression="false" doDynamicCompression="true" 
dll="C:\Windows\system32\inetsrv\suscomp.dll" staticCompressionLevel="10" 
dynamicCompressionLevel="0" />

Hence to get rid of this problem:

Ø Remove/Disable the XPress compression scheme from the configuration using the command below:

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

OR

Ø Add an attribute of "precondition= "64bitness" for this module entry so that it loads only in 64bit application pools

Refer this blog for more details on Preconditions in IIS7

OR

Ø Use a 32bit version of suscomp.dll

***************************************
posted @ 2013-11-04 16:33  小 天  阅读(2856)  评论(0编辑  收藏  举报