httpclient ライブラリを使用してサーバーに接続する W8 アプリケーションを移植しています。
アプリケーションの主な目的は画像を送信することですが、WP8 で画像を送信しようとすると、404 が見つかりませんというエラーが発生しました (Microsoft が多くのエラーを 404 に再マップしたようです)。サーバー ログを確認すると、サーバーが失敗する前にイメージの約 1/4 を受信したことを確認します。同じ機能が私の W8 アプリケーション (3G ではテストされていません) で正常に動作するようで、Wifi 接続を使用すると WP8 でも動作します。問題は待ち時間かもしれないと思うので、Keep-Alive ヘッダーを追加しようとしましたが成功しませんでした。私が持っている現在のコードは次のとおりです。
using (HttpClient httpClient = new HttpClient())
{
httpClient.Timeout = TimeSpan.FromMinutes(10);
Stream streamW = new MemoryStream();
this.bSyncOK = await Send(streamW);
streamW.Seek(0, SeekOrigin.Begin);
HttpResponseMessage response = await httpClient.PostAsync(sUri, new StreamContent(streamW));
if (response.IsSuccessStatusCode)
{
Stream streamR = await response.Content.ReadAsStreamAsync();
this.bSyncOK = await Recv(streamR);
streamR.Dispose();
}
else
throw new HostNotFoundException();
}
同じサーバーを使用して、IOS や Android などの他のプラットフォームに問題なく写真をアップロードできます。