svcutil завершает работу с отказом в обслуживании из-за контракта на отказ

StackOverflow https://stackoverflow.com/questions/1468669

  •  13-09-2019
  •  | 
  •  

Вопрос

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

Недавно нам понадобилось добавить новый ServiceContract, поэтому мы сделали это и добавили к нему простой метод (void / без параметров).Однако, как только мы добавили этот контракт, SVCUtil больше не будет генерировать прокси для нас.Вместо этого он выдаст ошибку и скажет, что метаданные содержат ссылку, которая не может быть разрешена:'net.tcp://localhost/MyService' Конечная точка не прослушивает бла-бла-бла.

Мы, наконец, отладили его до того факта, что операционный контракт имеет faultcontract .Как только мы удаляем его, все работает нормально.Это для нас очень странно, потому что..

1) новый сервисный контракт находится в том же месте, что и все наши другие сервисные контракты

2) исполнитель сервисного контракта тот же, что и исполнитель всех других сервисных контрактов (не спрашивайте)

3) FaultContract такой же, как и тот, который мы используем везде.

Есть какие-нибудь мысли о том, что может быть причиной такого странного поведения?

Это было полезно?

Решение

Оказалось, что это не ошибка FaultContracts.Вместо этого возникает проблема с использованием привязки netTcp для mex.После того, как вы достигнете определенного количества методов, это просто больше не будет работать.Решение состояло в том, чтобы переключиться на http-привязку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top