1

簡単な要件。クラス - ユーザー - {userId, userName, age} があります。

クラスのオブジェクトをシリアライズし、webclient を使用して (post を使用して) URL に送信する方法。

以下のようなもの。

ユーザー オブジェクトを 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;
4

1 に答える 1

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);
}
于 2011-01-10T20:29:53.900 に答える