Прерывистая ошибка WCF: коллекция уже содержит адрес со схемой http - PullRequest
2 голосов
/ 02 июля 2010

Я получаю эту неустойчивую ошибку WCF:

Эта коллекция уже содержит адрес со схемой http.В этой коллекции может быть не более одного адреса на схему.Имя параметра: item

Я пробовал различные решения, начиная с поиска в Google и от stackoverflow, и они работают некоторое время, пока ошибка не появляется снова, а затем я пытаюсь найти другое решение.Это действительно расстраивает.Прямо сейчас это все вуду для меня, так как я не понимаю, почему это происходит.Похоже, что если я коснусь файла webconfig и сохраню его, ошибка исчезнет.Я не знаю, вызывает ли это это, но мой webconfig вложен в то, что он находится в специальной папке webservices.Есть предложения?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Посмотрите, как ваши привязки IIS определены / настроены в файле .config IIS, расположенном по адресу ...

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

Найдите свой путь в раздел Sites-Site-Bindings, затем найдите привязки, для которых определен тот же протокол.Пример:

<binding protocol="http" bindingInformation="*:80:" />
<binding protocol="net.tcp" bindingInformation="8081:*" />
<binding protocol="net.pipe" bindingInformation="*" />
<binding protocol="net.msmq" bindingInformation="localhost" />
<binding protocol="msmq.formatname" bindingInformation="localhost" />
<binding protocol="https" bindingInformation="*:443:" />
<binding protocol="net.tcp" bindingInformation="9000:*" />

Обратите внимание, что для протокола "net.tcp" есть две привязки.Приведенный выше пример конфигурации выдаст следующую ошибку:

Эта коллекция уже содержит адрес со схемой net.tcp.В этой коллекции может быть не более одного адреса на схему.Имя параметра: item

Я лично столкнулся с этой ошибкой, когда добавил протокол net.tcp с помощью командной строки (в отличие от диспетчера IIS):

% windir%\ system32 \ inetsrv \ appcmd.exe установить сайт "Веб-сайт по умолчанию" - + привязки. [protocol-'net.tcp ', bindinginformation-'9000: *']

0 голосов
/ 02 июля 2010

Если у вас есть несколько базовых конечных точек http (т.е. WsHttpBinding и BasicHttpBinding) и вы пытаетесь добавить их одновременно, вы получите эту ошибку.

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