Тип интерфейса как свойство класса выдает ошибку на клиентском WCF - PullRequest
1 голос
/ 07 декабря 2010

Привет, у меня есть класс, который имеет свойство типа интерфейса

public class A
{
  public List<IInterface> interface {get;set;}
}

Public class B : IInterface
{
  // Some properties 
}

Служба wcf вызывает OpertaionContract, который возвращает тип объекта этого объекта, но на моем клиенте происходит сбой.

Я уже добавил атрибут ServiceKnowType во все реализованные классы в контракте на обслуживание, но все равно получаю ту же ошибку «Попробуйте использовать DataContractResolver или добавить тип, соответствующий« B », в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавив его в список известных типов, переданных в DataContractSerializer

Я действительно запутался, как это будет работать, пожалуйста, посоветуйте спасибо.

Я добавил KnowTypeAttribute в правильный datacontract, чтобы вышеуказанная ошибка исчезла, но теперь я получаю общую ошибку: подчеркивание соединения закрыто.
Обновлено: эта ссылка помогла мне решить проблему интерфейса Как передать список через WCF? Но прямо сейчас перечисления вызывают у меня аналогичную проблему: мой объект ломается из-за того, что свойства перечислений определены в классе.

1 Ответ

0 голосов
/ 02 февраля 2011

для вашей проблемы enum, вы используете EnumMember для перечислений? См. http://www.codekeep.net/snippets/0002f271-1418-4027-b19a-3820702fc22f.aspx для примера.

Если это не решит проблему, можете ли вы поделиться сообщением об ошибке, которое вы получаете при использовании enum?

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