2017-11-04 7 views
0

私はasp.net web API(作成したもの)で動作する小さなXamarinフォームアプリケーションを開発しています。HttpClient結果変換タイムアウト

私が達成したいのは、APIがオンラインか実行中かどうかをチェックすることです(ちょっとしたエラー処理)。私が行ったことは、リクエストされたときにtrueを返すテストコントローラがAPIに追加されたことです。 APIがオンラインであれば、それはオフラインで、結果をboolに変換しようとすると、catchブロックに入る前に非常に長い時間(+20秒)かかるので、私のアプリケーションはハングしています。 Timeout性質を持っている

何をすべきかをアドバイスしてくださいまたは私は両方に新しいですとより良い方法は、(Xamarinが& APIのを形成する)、これを扱うに存在する場合

public static bool testConnection() 
{ 
    HttpClient _client = new HttpClient(); 
    try 
    { 
     var content = _client.GetStringAsync(apiUrl + "/api/Test");//url Path 
     bool ConnectionStatus = Convert.ToBoolean(content.Result);//This line takes very long before jumping to catch block 
     if (ConnectionStatus) 
     { 
      return true; 
     } 
    } 
    catch (Exception e) 
    { 
     return false; 
    } 
} 
+0

これはあなたの実際のコードですか? ... – CalC

+0

@ Cal279はい申し訳ありませんが、メモリから入力されましたが、その正確なコード –

+1

_client.GetStringAsyncはタスクを返します。だから、 'await'や' .ContinueWith() 'を実行する –

答えて