我正在移植使用httpclient庫連接到我們的服務器的W8應用程序。HttpClient Portable返回404在WP8上未找到
該應用程序的主要目的是發送圖像,但是當我嘗試在WP8上發送圖片時,我得到了一個404未找到的錯誤(似乎微軟重新映射爲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等平臺的照片沒有問題。
您是否嘗試捕獲網絡跟蹤? – TheESJ
@TheESJ我試圖使用Wireshark,我可以看到服務器開始接收流,但突然停止接收信息。經過很多次重試後,我可以發送一張圖片(可能是20-30次重試)。 – Jose
是否有可能共享完整的repro代碼? – TheESJ