2017-06-01 89 views
1

虽然试图调用REST服务,当CPU配置设置为ARMHttpClient的GetAsync故障时,ARM CPU选择

发送请求发生错误我不断收到以下错误。与此错误代码相关的文本无法found.The服务器名称或地址无法解析

切换到任何CPU或例如,呼叫成功。

什么样的代码可能看起来像一个示例:

System.Uri uri = new Uri("http://servername/__/__.svc/ID/123"); 

using (var client = new System.Net.Http.HttpClient()) 
     { 
     try 
      { 
       var response = await client.GetAsync(uri); 

       if (response.IsSuccessStatusCode) 
       { 
        //handle success 
       } 
       else 
       { 
        //handle failure 
       } 
      } 
      catch (HttpRequestException exc) 
      { 
       throw new HttpRequestException(); 
      } 
     } 

如何解释这个观察来解决这个问题?

注意:启用Package.appxmanifest中Capabilities下的应用专用网络(客户端&服务器)。调用服务时不检查此功能会导致相同的错误。

更新与堆栈跟踪

在System.Net.Http.HttpClientHandler.d__86.MoveNext(个)\ r \ n ---从先前的位置,其中引发异常堆栈跟踪的结尾--- System.Net.Http.HttpClient.d__58上的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\ r \ n \ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\ r \ n \ r \ n \ .MoveNext()\ r \ n ---来自之前位置抛出异常的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\ r \ n下的\ r \ n。 Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat离子(任务任务个)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult(个)\ r \ n在ProjectName.Views.MainPage.d__4.MoveNext()

+0

** uri **的格式是什么?你累了'Windows.Web.Http.HttpClient'吗? –

+0

@ RitaHan-MSFT,我用uri和StackTrace更新了答案。 – usefulBee

+0

网络功能也被选中? – Quincy

回答

0

总而言之,使用服务器IP地址而不是主机/服务器名称,解决了问题。否则,解析名称可能需要编辑主机文件,如here中所述。