Отправить пользовательские данные как объект с помощью WCF - PullRequest
0 голосов
/ 25 марта 2011

В моем последнем проекте я хочу отправить пользовательские данные как объект, используя WCF.Причина этого заключается в том, что мне не придется обновлять каждый клиент, когда вводится новый класс данных.Тем не менее, когда я пытаюсь отправить эти данные, они никогда не поступают на клиентскую сторону.

В качестве краткого примера: Пользовательский класс:

[DataContract]
public class MyData
     {
     [DataMember]
     public string Name { get ;set; }
     [DataMember]
     public id Value { get; set; }

     public MyData(string name, id value)
     {
     this.Name = name;
     this.Value = value;
     }
}

Когда я хочу отправить этоклиент, который я использую:

object obj = new MyData("test",1);
service.SendDataToClient(obj);

Клиент никогда не получает это событие от службы, когда я отправляю его как объект.Однако, когда я отправляю его как MyData вместо объекта, он работает как надо.Как я могу отправить это как объект?

1 Ответ

1 голос
/ 25 марта 2011

Если вы хотите отправить пользовательские данные, проще всего использовать XElement вместо объекта.Другой подход - определить все возможные типы передачи с помощью ServicKnownTypeAttribute или создать универсальный распознаватель (в этом случае вы должны совместно использовать сборку контракта между клиентом и службой).Отметьте эту замечательную статью .

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