Windows Server 2008 IIS 7 HTTP 错误 500.19

Windows Server 2008 IIS 7 HTTP 错误 500.19

我正在尝试将 WCF Web 服务从 .NET 3.0 升级到 4。我已经运行

Aspnet_regiis.exe

ServiceModelReg.exe

以及将应用程序池更改为使用 v4.0。我以 .NET 4.0 为目标重建了服务 dll,并将其移动到我的站点上的 /bin 目录。

我遇到了一个让我抓狂的错误。每当我尝试访问该网站时,都会收到以下错误:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

无法读取配置部分“system.serviceModel”,因为它缺少部分声明

我尝试了谷歌搜索找到的解决方案,但都不起作用。我觉得 IIS 7 方面更有经验的人应该知道到底出了什么问题。有人能帮我解决这个问题吗

答案1

我找到了问题所在。我需要安装此处描述的修补程序,这是“WCF 示例的一次性安装过程”中的步骤 3这些WCF 代码示例。

答案2

尝试 aspnet_regiis.exe /iru

答案3

您可以检查以下事项:

  1. 您是否将应用程序中的 WCF 引用更改为 Framework 4.0 版本?

  2. 以下是 Microsoft 支持文章:安装 .NET Framework 4.0 后出现错误消息:“无法加载类型‘System.ServiceModel.Activation.HttpModule’”

    出现此问题的原因是,Windows 进程激活服务 (WAS) 的 Applicationhost.config 文件中定义了以下部分,而此部分与 .NET Framework 4.0 不兼容 [...]

  3. .svc:确保 IIS 和 WCF 已正确安装并注册:http://msdn.microsoft.com/en-us/library/aa751792.aspx

答案4

确保在服务器角色/功能中安装了 WCF HTTP 激活功能(它将是 3.5 版本),然后重新安装 .NET Framework 4.0。(您必须从下载中安装它,它不是 Windows 组件/功能的一部分)

如果幸运的话,应该以这样的方式重新注册脚本映射,即 .NET 4 将成功接收来自 IIS 的 WAS HTTP 激活请求,而不是绕过 3.5,因为 3.5 不明白它被要求做什么。

理论上,aspnet_regiis /i来自 .NET Framework 4.0 目录也应该这样做,但是您说您已经尝试过了。

相关内容