System.ServiceModel.Activation.HttpModule错误

时间:2010-12-07 08:25:06

标签: iis-7 .net-4.0

下面这行错误的原因是什么?

<system.web>
    <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="fa-IR" uiCulture="fa-IR" />
    <compilation targetFramework="4.0" debug="true">
      <assemblies> <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral,  PublicKeyToken=b77a5c561934e089" />

7 个答案:

答案 0 :(得分:33)

通过使用aspnet_regiis.exe重新注册aspNet,提到了这个解决方案的问题。但这对我没用。

虽然这是一个有效的解决方案(如美妙地解释here

但它无法与Windows 8一起使用。

对于Windows 8,您需要Windows功能并启用“.Net Framework 3.5”和“.Net Framework 4.5高级服务”下的所有内容。

由于 NEHA

答案 1 :(得分:22)

当您在启用IIS之前安装.Net 4,或者在注册.Net 4之后注册WCF时会发生这种情况。在任何一种情况下,您的应用程序池都将运行.Net 2.0(这是.Net 3所需的CLR版本)如果您已经注册了安装ASP.Net 3.5的WCF,或者如果您在.Net 4之后安装了IIS则默认注册。)

网上有很多对此的引用,例如: MSDN博客: http://blogs.msdn.com/b/webtopics/archive/2010/04/28/system-typeloadexception-for-system-servicemodel-activation-httpmodule-in-asp-net-4.aspx

修复是使用aspnet_regiis.exe工具从正确的(32位或64位)Framework文件夹(64位服务器上的Framework64)重新注册ASP.Net 4,例如

aspnet_regiis.exe -iru

答案 2 :(得分:7)

对于Windows 8,您需要使用Windows功能并启用.Net Framework 3.5.Net Framework 4.5 Advanced Services下的所有内容 - &gt; Enable Everything

答案 3 :(得分:2)

对于Windows 8上面的配置 控制面板 - &gt;程序 - &gt;窗口功能开/关 启用“.net Framework3.5”和“.net Framework 4.5高级服务”下的所有内容 对我来说很好。

感谢Madhavi.B

答案 4 :(得分:2)

我在我们的一个客户管理的服务器上遇到此问题。我没有权限运行aspnet_regiis.exe工具。作为一种解决方法,我做了以下事情:

  1. 我从web.config
  2. 中的aspNetCompatibilityEnabled="true"标记中删除了<serviceHostingEnvironment>
  3. 从webservice.cs文件中删除[AspNetCompatibilityRequirements]
  4. 不幸的是,这意味着,例如HttpContext.Current变为null,我可以通过将所有HttpContext.Current.Server.MapPath次调用重写为System.Web.Hosting.HostingEnvironment.MapPath来修复我的网络服务

    希望这有助于某人。

答案 5 :(得分:0)

在Windows Server 2008 R2 x64上安装Windows Management Framework 3.0 / PowerShell 3.0 sp1(KB2506143)后,我们立即浮现了这个问题。 Windows Update随后也会立即安装KB2736422,KB2756921和KB2656411。

我们的解决方案是首先卸载KB2506143(以及随附的三个更新),然后按照Ed209上面的响应中的建议运行aspnet_regiis.exe -iru。这两个步骤都是解决问题的必要步骤。谢谢你,Ed209。

答案 6 :(得分:0)

appcmd.exe set config -section:system.webServer/modules /[name='ServiceModel'].preCondition:"managedHandler,runtimeVersionv2.0" /commit:apphost

为我工作