0

C# と JSON を使用して .NET Web サービスを作成したいと考えています。しかし、Web サービスの return ステートメントにcannot implicitly convert type 'string' to 'Model.User' エラーがあります。そのエラー行を解決するにはどうすればよいですか?

ここに私の 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; }
        }

    }
}
4

1 に答える 1

1

ReadToEndメソッドが文字列を返し、メソッドが文字列を返すように宣言しているため、このエラーが発生します。Model.User

これを解決するには、代わりに返したいユーザーを返すか、メソッドを変更して文字列を返す必要があります。

于 2012-06-21T02:29:30.410 に答える