2012-01-13 58 views
5

我们正在部署具有此声明在Web.config文件的<httpModules>部分的ASP.NET 4.0 Web应用程序:为什么ServiceModel有时在Framework文件夹的Web.config中声明,有时不会?

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler"/> 

在多数情况下,这是既精细又必要。但是,在两次安装中,我们得到了有关重复条目的以下错误。在两个安装是有这个错误,我们发现这个声明在这里已经存在:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config 

没有错误的安装,大多数安装,不必在上述文件中该行。为什么框架的Web.config文件在安装时不一致?我们尚未能确定确切的区别。这些服务器大部分都是带有Windows Server 2003或Windows Server 2008的服务器,但也有一些带有Windows 7的测试盒。工作安装是上述组合,两种非工作安装是Windows Server 2008和Windows 7。已安装.NET 4完整配置文件。

详细错误信息

模块IIS Web核心

通知的BeginRequest

处理程序尚未确定

错误代码0x800700b7

配置错误Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'ServiceModel'

配置文件\\?\C:\Inetpub\wwwroot\web.config 请求的URL http://localhost:80/ 物理路径C:\Inetpub\wwwroot 登录方法Not yet determined 登录用户Not yet determined

98: <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler"/>

+1

这可能对您有用:http://stackoverflow.com/questions/2942448/asp-net-what-does -this-httpmodule-do-system-servicemodel-activation-httpmodule – 2012-09-28 09:01:37

+0

@Veli,感谢您的链接。这确实回答了我的问题。 – 2012-09-30 22:05:14

回答

3

该模块被安装(进入基地的.NET Framework配置文件)当您启用以下Windows功能:

Micr osoft .NET Framework 3.5.1 - > Windows Communication Foundation HTTP激活

当您启用WCF HTTP激活时,它向WCF注册IIS。这包括添加WCF激活模块,为.svc文件添加脚本映射等。

+0

你知道解决这个问题的最好方法吗?从Web.config中删除'add name =“ServiceModel”'似乎工作,但a)我不知道什么使用该模块,因此很难测试;和b)我们有几台服务器和开发者机器,所以恐怕其中一台会中断。 – 2016-01-14 16:12:07

相关问题