restart/iisreset отключает протокол NET.TCP?

Я размещаю сервис WCF в IIS7 на Windows Server 08, sp2. Сервис размещается как его собственный сайт и подвергается через конечную точку NET.TCP. Сервис работает отлично, пока команда restart/iisreset не дается.

После перезапуска или iisreset, когда я делаю любой служебный вызов, я получаю следующую ошибку: 'Система. ServiceModel. EndpointNotFoundException: сообщение не могло быть диспетчеризировано, потому что сервис в сети tcp: 'адреса конечной точки//[веб-сайт] / [service_name] .svc' недоступен протоколу адреса..'

Журнал событий сервера показывает следующую ошибку: 'Ошибка произошла при попытке считать и инстанцировать настроенного ProcessHandlerType. Исключение: Система. Сообщение ArgumentException: ИДЕНТИФИКАТОР Неизвестного протокола 'NET.TCP'. StackTrace: в System. Сеть. Хостинг. ProcessHost. StartProcessProtocolListenerChannel (Протоколируемая строка, IListenerChannelCallback listenerChannelCallback)'

Вопрос: Как я фиксирую это? Почему протокол NET.TCP отключен после iisreset? Действительно ли это - ошибка? Я пропускаю некоторую конфигурацию?

Детали установки IIS: - сервер 08 и 08 R2 - Привязка: http, NET.TCP (808:*) - EnabledProtols: http, NET.TCP. - Идентификационные данные для appPool сайта установлены на определенного пользователя.

Пример кода, доступный здесь: http://drop.io/wcfTcpSampleService

Спасибо

6
задан Kevin McKinley 29 June 2010 в 16:06
поделиться

4 ответа

Решено. Проблема в чувствительности к регистру. В AdvancedSettings веб-приложения поле EnabledProtocols должно быть в нижнем регистре, то есть «net.tcp» (я только что узнал об этом из службы поддержки MS).

Я предположил (по глупости), что «NET.TCP» должен быть в верхнем регистре из-за описания поля EnabledProtocols («... добавьте эти значения, такие как NET.TCP ...»).

Странная, неизвестная проблема заключается в том, почему он будет работать с NET.TCP в первый раз, но это уже другая проблема.

Спасибо за вашу помощь.

9
ответ дан 10 December 2019 в 00:33
поделиться

Можете ли вы использовать разные порты для протоколов NET.TCP и HTTP?

Update

На моем ПК все работает как надо, я пробовал и перезагрузку, и iisreset. Я загрузил туда же ваш проект, включая двоичные файлы (использовал Visual Web Developer 2010 Express), и скриншот настроек IIS. Пул приложений установлен на .NET 4.0 integrated.

iis7 http://www.freeimagehosting.net/uploads/1a727d66ce.png

1
ответ дан 10 December 2019 в 00:33
поделиться

Вам действительно нужно делать полный IISRESET? Я считаю, что "современный" рекомендуемый метод при необходимости полного перезапуска веб-хостируемого приложения - это переработка пула приложений следующим образом: iisapp /a /r (Windows 2003) или appcmd recycle apppool /apppool.name: (Windows 2008).

0
ответ дан 10 December 2019 в 00:33
поделиться

Какие версии .NET у вас установлены (или были)?

У меня была очень похожая проблема при переходе с .NET 4 RC на RTM, поскольку службы TCP использовали dll из установки RC (которой больше не существует), вызывая остановку служб.

0
ответ дан 10 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: