0

私は最初のxamarinプロジェクトをPCLで作成しています。Xamarin androidのWeb APIからの応答を取得中に未処理の例外

私がGETレスポンスとWebApi2を作成し、正常に動作してJSONレスポンスを提供し、私のローカルサーバー上で公開している正しく

URL:http://test.propertytaxapi.com/api/ward

応答: [{ "ID":1、 "zone_id":1、 "ward_no": "1"}、{"id":2、 "zone_id":1、 "ward_no": "2"}、{"id":3、 "zone_id" "ward_no": "3"}、{"id":4、 "zone_id":1、 "ward_no": "4"}、{"id":5、 "zone_id":1、 "ward_no": "5 "}、{" id ":6、" zone_id ":1、" ward_no ":" 6 "}

これを実装しようとしたとき私のXamarinプロジェクトでは、それを好きなように呼びます。

public async Task<List<Ward>> GetData() 
     { 
      using (var client = new HttpClient()) 
      { 
       try 
       { 
        client.BaseAddress = new Uri("http://test.propertytaxapi.com/api"); 
        var response = await client.GetAsync("ward"); 
        response.EnsureSuccessStatusCode(); 
        var placesJson = response.Content.ReadAsStringAsync().Result; 
        Ward wardData = new Ward(); 
        if (placesJson != "") 
        {      
         var wlists= JsonConvert.DeserializeObject<List<Ward>>(placesJson); 
         wardList = wlists.ToList(); 
        } 
       } 
       catch (Exception) 
       {     
        return null; 
       } 
      } 
      return wardList; 
     } 

私はこのラインで例外が発生しました: -
するvar応答= client.GetAsync( "病棟")を待ちます。

例外:

11月2日14:11:29.968 E/MONO(2954): 11月2日14:11:29.968 E/MONO(2954):未処理の例外: 11- 02 14:11:29.968 E/mono(2954):System.Net.Http.HttpRequestException:要求の送信中にエラーが発生しました---> System.Net.WebException:エラー:NameResolutionFailure 11-02 14:11:29.968 E/mono(2954):System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult asyncResult)[0x00058] < 6c708cf596db438ebfc6b7e012659eee>:0 11-02 14:11:29.968 E/mono(2954):System.Threading .Tasks.TaskFactory 01 < 896ad1d315ca4ba7b117efb8dacaedcfで2 [T、TResult] ENDFUNCTION、System.Action 1[T] endAction, System.Threading.Tasks.Task 1 [TResult]約束、可能System.Boolean requiresSynchronization)0x0000f]>:0 11月2日14:11:29.968 E/MONO(2954): - - 例外がスローされた前の場所からのスタックトレースの終わり--- 11-02 14:11:29.968 E/mono(2954):System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[0x0000c] in < 896ad1d315ca4ba7b117efb8dacaedcf >:0 11-02 14:11:29.968 E/mono(2954):System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Taskタスク)[0x0003e] in < 896ad1d315ca4ba7b117efb8dacaedcf>:0 11 -02 14:11:29.968 E/mono(2954):System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.T) )0: 11-02 14:11:29.968 E/mono(2954):System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Taskタスク)で[0x00028] [0x00008]> 896ad1d315ca4ba7b117efb8dacaedcf <:0 11月2日14:11:29.968 E/MONO(2954):1 [TResult] .FromAsyncCoreLogic(System.IAsyncResult IAR、System.Func 2[T,TResult] endFunction, System.Action System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1+ConfiguredTaskAwaiter[TResult].GetResult() [0x00000] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.968 E/mono (2954): at System.Net.Http.HttpClientHandler+<SendAsync>d__63.MoveNext() [0x00450] in <7736395a6c71409691a34accfc621095>:0 11-02 14:11:29.968 E/mono (2954): --- End of inner exception stack trace --- 11-02 14:11:29.976 E/mono-rt (2954): [ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Http.HttpRequestException: An error occurred while sending the request ---> System.Net.WebException: Error: NameResolutionFailure 11-02 14:11:29.976 E/mono-rt (2954): at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x00058] in <6c708cf596db438ebfc6b7e012659eee>:0 11-02 14:11:29.976 E/mono-rt (2954): at System.Threading.Tasks.TaskFactoryで1 + ConfiguredTaskAwaiter [TResult] <内の[0x00000] 896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt(2954)1 [T] endAction、System.Threading.Tasks.Task 1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt (2954): --- End of stack trace from previous location where exception was thrown --- 11-02 14:11:29.976 E/mono-rt (2954): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt (2954): at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt (2954): at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt (2954): at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 11-02 14:11:29.976 E/mono-rt (2954): at System.Runtime.CompilerServices.ConfiguredTaskAwaitable :System.Net.Http.HttpClientHandler + d__63.MoveNext()[0x00450] in < 7736395a6c71409691a34accfc621095>:0 11 -02 14:11:29.976 E /モノ-RT(2954):内部例外スタックトレースの終わり--- ---

応答

答えて

1

クライアントを取得するために私の解決策を提案してください。BaseAddress =新しいUri( "http://test.propertytaxapi.com/api/");

ベースアドレスの末尾にバックスラッシュを追加します。上記のURLを試してください

関連する問題