2012-06-21 19 views
0

我想用C#和JSON創建一個.NET webservice。但我的錯誤在我的web服務的返回聲明中,cannot implicitly convert type 'string' to 'Model.User' 如何解決該錯誤行?爲什麼我在使用JSON的.NET webservice中獲取Error StreamReader?

這裏是我的WebService.asmx:

[OperationContract] 
    public Model.User GetUser(string ccduser) 
    { 
     Model.User user = new Model.User(); 
     string connectionString = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; 
     using (SqlConnection connection = new SqlConnection(connectionString)) { 
      string sql = "Select * from ms_webuser where ccduser = '" + ccduser + "'"; 
      connection.Open(); 

      SqlCommand command = new SqlCommand(sql, connection); 
      SqlDataReader reader = command.ExecuteReader(); 
      while (reader.Read()) 
      { 
       user.cnmuser = reader["cnmuser"].ToString(); 
      } 
     } 

     MemoryStream stream = new MemoryStream(); 
     DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Model.User)); 
     serializer.WriteObject(stream, user); 
     stream.Position = 0; 
     StreamReader streamReader = new StreamReader(stream); 
     return streamReader.ReadToEnd(); //here is the error red line 
    } 

這裏是我的Model.User類:

namespace Model 
{ 
    public class User 
    { 
     private string _ccduser; 
     private string _cnmuser; 

     public string ccduser 
     { 
      get { return _ccduser; } 
      set { _ccduser = value; } 
     } 

     public string cnmuser 
     { 
      get { return _cnmuser; } 
      set { _cnmuser = value; } 
     } 

    } 
} 

回答

1

你得到這個錯誤,因爲ReadToEnd方法返回一個字符串,你已經宣佈你的方法返回一個Model.User

要解決它,你應該返回你想要返回的用戶,或者你應該改變方法來返回一個st環。

+0

謝謝@MAV,現在它可以工作,我將方法改爲'String' – blankon91

相關問題