svcutil отказывается от обслуживания с договором об ошибке
У нас есть собственный сервис WCF, который мы уже давно разрабатываем. В рамках нашего стандарта мы определили FaultContract, который мы применяем к операциям.
Недавно нам нужно было добавить новый ServiceContract, поэтому мы сделали это и добавили к нему простой метод (void/no params). Как только мы добавили этот контракт, SVCUtil больше не будет генерировать для нас прокси. Вместо этого он выдаст ошибку и скажет, что метаданные содержат ссылку, которая не может быть разрешена: 'net.tcp://localhost/MyService' Нет конечной точки, слушающей бла-бла-бла.
Мы наконец-то отладили его до того, что в договоре на эксплуатацию есть неисправность договора. Как только мы удалим его, все будет работать нормально. Это для нас очень странно, потому что..
1) новый контракт на обслуживание находится в том же месте, что и все другие наши контракты на обслуживание
2) исполнитель договора на обслуживание такой же, как и исполнитель всех других договоров на обслуживание (не спрашивайте)3) FaultContract такой же, как тот, который мы используем везде.
Есть мысли о том, что может быть причиной этого странного поведения?
1 ответ
Оказалось, что это не вина FaultContracts. Вместо этого существует проблема с использованием привязки netTcp для mex. После того, как вы достигли определенного количества методов, он просто больше не работает. Решением было переключиться на http-привязку.