我使用這個代碼在我的Metro風格應用程序下載網頁中的例外:在WinRT中下載的網頁拋出
public static async Task<string> DownloadPageAsync(string url)
{
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
handler.AllowAutoRedirect = true;
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = response.Content.ReadAsString();
return responseBody;
}
的問題是,當行client.GetAsync(url)
運行時,它拋出一個異常,說:
An error occurred while sending the request.
來自類型:HttpRequestException
。
編輯:
我已經使用了InnerException獲得更多的信息。拋出的第一個例外是SocketException
與下面的消息:
An attempt was made to access a socket in a way forbidden by its access permissions
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
編輯2: 我已經下載並運行微軟的樣品,我也得到了同樣的錯誤: http://code.msdn.microsoft.com/windowsapps/HttpClient-Upload-Sample-f1abcc4e
編輯3: 我在另一臺機器上運行它,它工作正常。所以我猜這個代碼沒有問題。我複製瞭解決方案,這意味着解決方案也沒有問題。我正在嘗試重新安裝Windows Developer Preview以查看它是否修復了我的問題。
您是否已驗證該網址是您真正打算成爲的網址?將URL粘貼到不同的用戶代理(瀏覽器等)中,以確保它真正地回覆您所期望的內容。 –
我用'http:// www.google.com'來測試它。我確定這個網址是可以的。 –
請看看編輯過的帖子。也許新的信息有幫助。 –