SORU
24 EYLÜL 2013, Salı


Nasıl HttpClient PostAsync benim ikinci parametre için HttpContent ayarlayabilirim?

public static async Task<string> GetData(string url, string data)
{
    UriBuilder fullUri = new UriBuilder(url);

    if (!string.IsNullOrEmpty(data))
        fullUri.Query = data;

    HttpClient client = new HttpClient();

    HttpResponseMessage response = await client.PostAsync(new Uri(url), /*expects HttpContent*/);

    response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
    response.EnsureSuccessStatusCode();
    string responseBody = await response.Content.ReadAsStringAsync();

    return responseBody;
}

PostAsync HttpContent gereken başka bir parametre alır.

Nasıl HttpContent bir ayarlayabilirim? Windows Phone 8 için çalışan belgeleri hiçbir yerde yok.

Eğer GetAsync yaparsam harika çalışıyor! ama anahtarı içeriği ile gönderilmesi gerekmektedir="" birşey="" . yay bla

//DÜZENLE

O kadar çok cevap için teşekkürler... Bu iyi çalışıyor, ama hala bir kaç unsures burada:

    public static async Task<string> GetData(string url, string data)
    {
        data = "test=something";

        HttpClient client = new HttpClient();
        StringContent queryString = new StringContent(data);

        HttpResponseMessage response = await client.PostAsync(new Uri(url), queryString );

        //response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();

        return responseBody;
    }

Veriler "test=bir şey" post veri olarak apı tarafında almak için geldim "" değil, besbelli. test Diğer bir konu, post data ile diziler/tüm nesneleri göndermek için ihtiyacım olabilir, json iyi olacak herhalde. Post ile verileri alıyorum hakkında bir fikriniz var mı?

Belki bir şey gibi:

class SomeSubData
{
    public string line1 { get; set; }
    public string line2 { get; set; }
}

class PostData
{
    public string test { get; set; }
    public SomeSubData lines { get; set; }
}

PostData data = new PostData { 
    test = "something",
    lines = new SomeSubData {
        line1 = "a line",
        line2 = "a second line"
    }
}
StringContent queryString = new StringContent(data); // But obviously that won't work

CEVAP
24 EYLÜL 2013, Salı


Bu Can't find how to use HttpContent hakkında bir yorum cevap

Doğrudan soyut bir sınıf olduğundan HttpContent, örneği Kur. Alt sınıflar, birini ihtiyacınıza göre kullanmanız gerekir. En olası yanıt, kodlama ve kurucu ortam türü dize değeri sağlar StringContent,: http://msdn.microsoft.com/en-us/library/system.net.http.stringcontent.aspx

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • cyriak

    cyriak

    29 Mart 2006
  • Plugable

    Plugable

    19 Mayıs 2010