Нет совместимой ошибки TransportManager - PullRequest
2 голосов
/ 24 мая 2011

Ответ

Это была проблема конфигурации.

У нас было две службы в приложении. До возникновения проблемы оба сервиса имели явную конфигурацию привязки, которая соответствовала и работала хорошо. Один сервис собирался удалить, поэтому разработчик напомнил о конфигурации явного связывания, забыв, что .NET 4.0 предоставляет привязки по умолчанию (и другие).

Какой бы сервис не был запущен первым, его настройки не будут несовместимы с любыми другими настройками (поскольку они были первыми) и будут в порядке. Служба, которая была загружена впоследствии, будет иметь другие параметры привязки и будет отклонена TransportManager.

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



Оригинальный вопрос

Мы получаем неустойчивую ошибку при первом запуске службы в IIS. Если я внесу пробел в любое из конфигураций и перезагрузлю, то примерно в 50% случаев служба будет работать нормально. После того, как это, хорошо идти. Но в следующий раз, когда мы развернем эту коробку, мы снова запустим русскую рулетку.

Мы просмотрели другие сообщения на форуме на ту же ошибку и до сих пор не смогли найти какое-то определенное исправление. Нам потребовалось некоторое время, чтобы осознать, что ни одно из изменений конфигурации, которые мы пробовали, на самом деле не влияло на проблему, так как простого изменения пробела достаточно, чтобы заставить его начать заново и заставить его работать часть времени. Кажется, внутри TransportManagerTable существует какое-то состояние состязания, может быть, оно пустое, когда не удается запустить службу? Не уверен, пытаясь получить какую-то трассировку или что-то, что даст нам более подробную информацию о том, что находится в экземпляре TransportManagerTable.


Не найдено совместимого TransportManager для URI 'net.tcp: // box: 10101 / DEV / AwesomeService.svc'. Это может быть связано с тем, что вы использовали абсолютный адрес, который указывает вне виртуального приложения, или параметры привязки конечной точки не соответствуют тем, которые были установлены другими службами или конечными точками. Обратите внимание, что все привязки для одного и того же протокола должны иметь одинаковые настройки в одном приложении. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и месте ее возникновения в коде.

Сведения об исключении: System.InvalidOperationException: Не найдено совместимого TransportManager для URI 'net.tcp: // box: 10101 / DEV / AwesomeService.svc'. Это может быть связано с тем, что вы использовали абсолютный адрес, который указывает вне виртуального приложения, или параметры привязки конечной точки не соответствуют тем, которые были установлены другими службами или конечными точками. Обратите внимание, что все привязки для одного и того же протокола должны иметь одинаковые настройки в одном приложении.

Ошибка источника: Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[InvalidOperationException: не существует совместимого TransportManager найдено для URI 'net.tcp: // box: 10101 / DEV / AwesomeService.svc'. Это может потому что вы использовали абсолютный адрес, который указывает на виртуального приложения или настройки привязки конечной точки не совпадают с теми, которые были установлены другими службами или конечными точками. Обратите внимание, что все привязки для одного и того же протокола должны иметь одинаковые настройки в том же приложении.]
System.ServiceModel.Channels.TransportChannelListener.ThrowTransportManagersNotFound ()+8955459 System.ServiceModel.Channels.TransportChannelListener.SelectTransportManagers () +16199511 System.ServiceModel.Channels.TransportManagerContainer.Open (SelectTransportManagersCallback selectTransportManagersCallback selectTransportManagerCallback timetime + 18.
System.ServiceModel.Channels.CommunicationObject.Open (тайм-аут TimeSpan) + 789
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen (тайм-аут TimeSpan) + 375

[исключение InvalidOperationException в канале.tcp: // box: 10101 / DEV / AwesomeService.svc 'с контрактом (ами)' "IAwesomeService", "ILoggingService" 'не может открыть свой IChannelListener.]
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen (Тайм-аут TimeSpan) + 16199205
System.ServiceModel.Channels.CommunicationObject.Open (тайм-аут TimeSpan) +789 System.ServiceModel.ServiceHostBase.OnOpen (тайм-аут TimeSpan) + 126
System.ServiceModel.времяout) + 789
System.ServiceModel.HostingManager.ActivateService (String normalizedVirtualPath) + 287
System.ServiceModel.HostingManager.EnsureServiceAvailable (Строка normalizedVirtualPath) + 1132 * 1044 Служба активации [10] * 10 */AwesomeService.svc 'нельзя активировать из-за исключения во время компиляции.Сообщение об исключении: ChannelDispatcher в «net.tcp: // box: 10101 / DEV / AwesomeService.svc» с контрактом (-ами) «IAwesomeService», «ILoggingService» »не может открыть свою систему IChannelListener ..].Runtime.AsyncResult.End (результат IAsyncResult) + 890624
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.* Информация о версии: Microsoft .NET Framework Версия: 4.0.30319;ASP.NET версия: 4.0.30319.1

Ответы [ 2 ]

2 голосов
/ 12 июня 2015

Чтобы добавить немного больше инструкций, проблема, скорее всего, связана с файлом Web.Config вашего сервиса. В узле убедитесь, что ваш адрес конечной точки является пустой строкой, или убедитесь, что ваш URL-адрес конечной точки указывает на точное местоположение вашей службы, как вы указали в IIS.

<endpoint address="" binding="basicHttpBinding" bindingConfiguration="MyServiceBinding" contract="MySolution.IMyService"/>
2 голосов
/ 24 мая 2013

Отредактировал конфигурацию, чтобы установить пустой адрес, и ошибка была исправлена.

...