2016-09-11 3 views
-1

Имея библиотеку классов, которая состоит из ниже классов и разделяемое как ServerSide (WCF) и клиентской (Windows Application) Применение:с вопросом # WCF Deserialize

[DataContract] 
public class A 
{ 
    public A() 
    { 

    } 

    [DataMemeber] 
    public int A1 { get; set; } 

    [DataMemeber] 
    public string A2 { get; set; } 
} 

[DataContract] 
public class B 
{ 
    public B() 
    { 

    } 

    [DataMemeber] 
    public int B1 { get; set; } 

    [DataMemeber] 
    public string B2 { get; set; } 

    [DataContract] 
    public A B_A { get; set; } 
} 

Если я прошу только объект класса В, возвращать ошибки потому что свойство B_A равно NULL (на самом деле свойство B_A не является NULL на сервере ServerSide), и оно не может десериализоваться со стороны клиента. Смущение в том, что, я думаю, WCF должен позаботиться об этом, например, если есть какие-либо другие потребности в объектах, он также автоматически сериализуется. Любые идеи PLS?

Благодарим за помощь.

ответ

1

Вы должны отметить поля с DataMember

Так это:

[DataContract] 
public A B_A { get; set; } 

должно быть:

[DataMember] 
public A B_A { get; set; } 
+0

жаль, это было опечаток, он помечается как DataMember – Tim

+0

@ Тим, на самом деле должен работать, mb некоторые зависимости или ваш класс содержит исключение внутри fe, обмениваться реальным кодом –

Смежные вопросы