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); 
}