2011-05-05 151 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