これで、WCFサービスにこのようなオブジェクトが2つあります。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クラスをある種の属性で装飾する必要がある可能性はありますか?
繰り返しになりますが、ユーザーがすべての追加プロパティの値を返していること、およびオブジェクトがサーバーを離れる前に値が入力されていることを確認しました。
助言がありますか?