好的,所以我的 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 类是否可能需要用某种类型的属性进行装饰?
同样,我已经验证了用户返回的所有额外属性的值,并且在对象离开服务器之前填充了这些值。
有什么建议么?