Почему ServiceModel иногда объявляется в папке Framework.Webfig, а иногда нет? - PullRequest
5 голосов
/ 13 января 2012

Мы развертываем веб-приложение ASP.NET 4.0, которое имеет это объявление в разделе <httpModules> своего файла 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 Core

Уведомление 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 Ответ

3 голосов
/ 11 ноября 2012

Этот модуль устанавливается (в базовый файл конфигурации .NET Framework) при включении следующей функции Windows:

Microsoft .NET Framework 3.5.1 -> активация Windows Communication Foundation HTTP

Когда вы активируете WCF HTTP Activation, он регистрирует WCF в IIS. Это включает в себя добавление модуля активации WCF, добавление сопоставления сценариев для файлов .svc и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...