32 位 IIS 和 64 位 Windows 上的静态压缩模块和动态压缩模块

发布于 2025-01-07 06:56:47 字数 460 浏览 0 评论 0原文

我想在 64 位 Windows 2008 上的 IIS 7 中托管一个 32 位应用程序。当我访问启用了默认模块的站点时,出现此错误 -

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,则该站点可以正常工作。

我可以在不禁用这些模块的情况下使其正常工作吗?

I want to host a 32bit application in IIS 7 on 64 bit Windows 2008. When I visit the site with the default modules enabled I get this error -

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 

If I remove the StaticCompressionModule and DynamicCompressionModule the site works.

Can I get it working without having to disable these modules?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑叹一世浮沉 2025-01-14 06:56:47

微软知识库说

出现此问题的原因是 ApplicationHost.config 文件或 Web.config 文件引用了无效或不存在的模块或 DLL。

尝试在应用程序池配置中启用 32 位应用程序

编辑:

找到以下内容

对于上述特定错误(在本例中提到),DynamicCompressionModule 模块导致了问题。这是因为 XPress 压缩方案模块 (suscomp.dll) 随 WSUS 一起安装。由于压缩方案是全局定义的,并尝试在每个应用程序池中加载,因此当 64 位版本的 suscomp.dll 尝试在以 32 位模式运行的应用程序池中加载时,将导致此错误。

<块引用>

此模块条目如下所示:

因此要解决这个问题:

Ø 使用以下命令从配置中删除/禁用 XPress 压缩方案:

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

或者

Ø 使用32位版本的suscomp.dll

Microsoft KB says

This problem occurs because the ApplicationHost.config file or the Web.config file references a module or a DLL that is invalid or that does not exist.

Try enabling 32bit application in Application Pool configuration

EDIT:

Found the folowing

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:

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

Ø Use a 32bit version of suscomp.dll

陈甜 2025-01-14 06:56:47

最后,如果不禁用这两个模块,我就无法让它工作。值得注意的是,如果您使用 Visual Studio 将应用程序部署到 IIS 服务器,您的应用程序配置将覆盖服务器上的内容,从而重新启用这两个模块。您需要禁用配置文件中的模块。

In the end I couldn't get it to work without disabling these two modules. It's worth noting that if you're using Visual Studio to deploy your application to an IIS server, your applications config is going to overwrite what is on the server and thus, reenable the two modules. You need to disable the modules in your config file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文