1

我正在用Xamarin Forms構建一個應用程序。我對Android沒有任何問題,但是當我嘗試模擬或部署iOS應用程序時,我的HttpClient似乎無法連接到服務器。超時過期後,我得到一個TaskCanceledException。iOS Http客戶端無法連接:{System.Threading.Tasks.TaskCanceledException}

HttpClient實際上在iOS應用程序引用的單獨項目中使用,如果這很重要的話。這是我的用法:

string serviceUri = service + methodName; 

      HttpRequestMessage request = new HttpRequestMessage(methodRequestType, serviceUri) 
      { 
       Content = new StringContent(content, Encoding.UTF8, "application/json") 
      }; 

      HttpResponseMessage response = await _client.SendAsync(request).ConfigureAwait(false); 
      string returnString = await response.Content.ReadAsStringAsync(); 
      return returnString; 

我沒有使用任何等待或訪問.Result,因爲我看到很多人嘗試不理解異步操作。

我見過使用錯誤的HttpClient的舊帖子(大約2013年)。這在目前的版本中仍然是個問題嗎?我也嘗試在iOS項目設置中更改HttpClient實現,但無濟於事。

在此先感謝!

+0

你連接到'https'或'http'源如果'http'你設置ATS例外 – SushiHangover

+0

這是一個HTTPS來源,我剛剛重新測試端點以https:/ /www.ssllabs.com/ssltest/,並報告ATS沒有問題。 – Joe

+0

是否可以連接到任何其他網頁? –

回答

2

的問題是一個無效的部署目標 - 它被設置爲「80」,而不是「8.0

進來的情況下,構建服務器不溝通這個無效回到你的機器 - 因此,爲什麼花了這麼長時間!?注意到它