好的,所以我的WCF服务中有两个看起来像这样的对象。当我的User类中的MyProfile属性返回到客户端时,它的所有属性都为null;然而,没有别的。
[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类是否可能需要使用某种类型的属性进行修饰?
同样,我已经验证用户将返回其所有额外属性的值以及在对象离开服务器之前填充值的值。
有什么建议吗?
答案 0 :(得分:0)
所有对象的类属性都没有使用[DataMember]属性进行修饰。