0

好的,所以我的 WCF 服务中有两个看起来像这样的对象。当我的 User 类中的 MyProfile 属性返回到客户端时,它的所有属性都为空;然而,没有别的了。

[DataContract]
[Serializable]
public class User { 

    private WebProfile.UserTable _MyProfile;

    public WebProfile.UserTable MyProfile { 
        get { return _MyProfile; }
        set { _MyProfile = value; }
    }
}

[DataContract]
[Serializable]
public class WebProfile { 

    [DataContract]
    [Serializable]
    public class UserTable { 

    }
}

在 WCF 服务上,它看起来像这样。

#region User Contract...
[ServiceContract]
public interface IUser {
    List<User> GetAllUsers();
}
#endregion

public List<User> GetAllUsers() {
    return _users;
}

我只列出了有问题的属性,因为我相信它特定于该属性在子类中。

这是我所做的。我已经验证数据实际上是从数据库中从服务端的数据库中获取的。此外,该 MyProfile 通过事件日志具有其​​属性的值。

当客户端请求用户列表时,我会写入托管服务的服务器上的事件日志,以确保 MyProfile 的属性具有值。所以问题要么是客户端反序列化信息,要么是服务器将其序列化以发送给客户端。我的 WebProfile 类是否可能需要用某种类型的属性进行装饰?

同样,我已经验证了用户返回的所有额外属性的值,并且在对象离开服务器之前填充了这些值。

有什么建议么?

4

1 回答 1

0

所述对象的类的所有属性都没有使用 [DataMember] 属性进行修饰。

于 2012-06-07T19:09:03.787 回答