2011-05-05 148 views
2

我有一个WCF服务,它返回一个Object-I。 Object-I是List,String X,List的集合。我的WCF服务运行时没有任何错误,并返回它,但是当我在我的Silverlight应用程序中调用此函数时,我无法读取此对象-I。 请帮我如何在WCF Web服务中返回对象?

//WCF Service Interface 
    [ServiceContract] 
     public interface IUserConfiguration 
     { 
      [OperationContract] 
      userlistresponse GetUser(); 
     } 

    [DataContract] 
     public class userlist 
     { 
      [DataMember] 
      public string UserID { get; set; } 
      [DataMember] 
      public string UserName { get; set; } 
      [DataMember] 
      public string Password { get; set; } 
      [DataMember] 
      public string User_Type { get; set; } 
      [DataMember] 
      public string Salutation { get; set; } 
      [DataMember] 
      public string First_Name { get; set; } 
      [DataMember] 
      public string Middle_Name { get; set; } 
      [DataMember] 
      public string Last_Name { get; set; } 
      [DataMember] 
      public int User_Level { get; set; } 
      [DataMember] 
      public string Address { get; set; } 
      [DataMember] 
      public string City { get; set; } 
      [DataMember] 
      public string State { get; set; } 
      [DataMember] 
      public string Pincode { get; set; } 
      [DataMember] 
      public string Landmark { get; set; } 
      [DataMember] 
      public string Landline1 { get; set; } 
      [DataMember] 
      public string Landline2 { get; set; } 
      [DataMember] 
      public string Landline3 { get; set; } 
      [DataMember] 
      public string Mobile { get; set; } 
      [DataMember] 
      public string Email { get; set; } 
      [DataMember] 
      public string Status { get; set; } 
      [DataMember] 
      public string Token { get; set; } 
      [DataMember] 
     } 

     [DataContract] 
     public class ErrorManager 
     { 
      public string Error_ID { get; set; } 
      public string Field { get; set; } 
     }  

     [DataContract] 
     public class userlistresponse 
     { 
      public List<userlist> usersdetails { get; set; } 
      public bool Flag { get; set; } 
      public List<ErrorManager> Error { get; set; } 
     } 

//WCF Service Implementation 
public userlistresponse GetUser() 
     { 
      userlistresponse ErrorUser = new userlistresponse(); 
      try 
      { 
        DALUsersDetails DUD = new DALUsersDetails(); 
        return DUD.GetUserDetails();     
      } 
      catch (Exception Ex) 
      { 
       ErrorUser.Error.Add(new ErrorManager {Error_ID = "SUR0000",Field = Ex.Message.ToString()}); 
       ErrorUser.Flag = false; 
      } 
      return ErrorUser; 
     } 
//DATA ACCESS LAYER Just Returns a List From DataBase 

,一切工作正常here.and WCF服务可以在Silverlight应用程序被调用,可以使用的方法。

//Silverlight Application 

public Searchuser() 
     { 
      InitializeComponent(); 
      UserConfigurationClient UserClient = new UserConfigurationClient();       
      UserClient.GetUserCompleted += new EventHandler<GetUserCompletedEventArgs>(UserClient_GetUserCompleted); 
      UserClient.GetUserAsync(); 
        } 
      void UserClient_GetUserCompleted(object sender, Proto.UserReference.GetUserCompletedEventArgs e) 
     { 
      if (e.Result != null) 
      { 
       Proto.UserReference.userlistresponse user = new userlistresponse();     
       user = e.Result;//Its Just Returns a string. 
       if(user.flag == false) 

//Here is the Problem- The Object User[userlistresponse] does not shows or exposes the member inside that object. 


      { 
          .......................//some code 
      } 


      } 
     } 

User does not shows or exposes the member in userlistresponse object

+1

嗯...给我们展示一些代码,这样我们就不必玩猜谜游戏了。 – slugster 2011-05-05 05:29:47

回答

3

如果使用[DataContract]的类,你应该iclude [DataMember]属性,而您不希望跳过被转移的所有属性。

+0

感谢它的工作 – 2011-05-05 07:08:27

+0

@Niranjan Thangaiya:不客气! – Oleg 2011-05-05 07:15:25