0

データをサーバーに投稿し、そこから圧縮データを取得する必要があります。

Windows Phone 7 SDK を使用しています。

SharpGIS または Coding4Fun ツールキットを使用して実行できることを読みました。

彼らはWebClient(AFAIK)を使用しています。

誰でも私を助けることができますか?

これが私がする必要があることです-

  1. URLにデータ(XML)を投稿

  2. xml 文字列/ストリームの形式で圧縮データを取得します (サーバーでサポートされているのは GZip のみ)。

  3. 受信した xml データを逆シリアル化します

メソッドは待機可能でなければなりません。

4

3 に答える 3

1

wp7でこれをしなければならなかったとき、私は

  1. ソリューション内にポータブル クラス ライブラリ プロジェクトを作成しました
  2. https://www.nuget.org/packages/Microsoft.Net.Http (Install-Package Microsoft.Net.Http)で HTTP クライアント ライブラリを Nuget します。
  3. Nuget http://www.nuget.org/packages/Microsoft.Bcl.Async/ (Install-Package Microsoft.Bcl.Async ) を PCL および UI ソリューションに追加します。

ポータブル クラス ライブラリで

public class PostData
{
    public async Task<T> TestMe<T>(XElement xml)
    {
        var client = new HttpClient(new HttpClientHandler
        {
            AutomaticDecompression = DecompressionMethods.GZip
                                     | DecompressionMethods.Deflate
        });

        var response = await client.PostAsync("https://requestUri", CreateStringContent(xml));

        var responseString = await response.RequestMessage.Content.ReadAsStringAsync();
        //var responseStream = await response.RequestMessage.Content.ReadAsStreamAsync();
        //var responseByte = await response.RequestMessage.Content.ReadAsByteArrayAsync();

        return JsonConvert.DeserializeObject<T>(responseString);
    }

    private HttpContent CreateStringContent(XElement xml)
    {
        return new StringContent(xml.ToString(), System.Text.Encoding.UTF8, "application/xml");
    }
}
于 2013-08-22T11:23:33.977 に答える
1

C4F ツールキットの WebClient と HttpWebRequest がサポートされています。HttpClient は、現在 WP にある http クライアント ライブラリなしでは存在しません。

于 2013-09-02T18:31:42.583 に答える
0

私は Windows 8 を使用していません。つまり、Windows Phone SDK は、Microsoft HttpClient をサポートしていない VS 2010 にしかありません。

MS開発者によって書かれたNuGetパッケージDelay.GZipWebClientがあり、簡単なサポートが追加されています。これまでのところ、それは魅力のように機能しています。

http://blogs.msdn.com/b/delay/archive/2012/04/19/quot-if-i-have-seen-further-it-is-by-standing-on-the-shoulders-of- Giants-quot-an-alternate-implementation-of-http-gzip-decompression-for-windows-phone.aspx

于 2013-12-21T22:51:00.863 に答える