1

简单的要求。我有一个类 - 用户 - {userId,用户名,年龄}。使用WebClient上传序列化数据

如何使用webclient对类的对象进行serailize并发送到url(使用post)。

有点像下面。

将用户对象序列化为postdata格式的最佳方式是什么?

WebClient client = new WebClient(); 
     client.Encoding = System.Text.Encoding.UTF8; 
     client.Credentials = CredentialCache.DefaultNetworkCredentials; 
     string postData = "orderId=5&status=processed2&advertId=ADV0001a"; 
     byte[] postArray = Encoding.ASCII.GetBytes(postData); 
     client.Headers.Add("Content-Type","application/x-www-form-urlencoded"); 
     byte[] responseArray = client.UploadData(address, postArray); 
     var result = Encoding.ASCII.GetString(responseArray); 
     return result; 

回答

0

我将适用下列简化,将代码:

using (var client = new WebClient()) 
{ 
    client.Credentials = CredentialCache.DefaultNetworkCredentials; 
    var data = new NameValueCollection 
    { 
     { "userId", user.Id }, 
     { "userName", user.Name }, 
     { "age", user.Age } 
    }; 
    var responseArray = client.UploadValues(address, data); 
    return Encoding.ASCII.GetString(responseArray); 
}