2017-06-01 2 views
1

Tout en essayant d'appeler un service de repos, je continue à obtenir l'erreur suivante lorsque la configuration du processeur est réglé sur ARMHttpClient GetAsync échec lorsque le processeur ARM est sélectionné

Une erreur est survenue lors de l'envoi de la demande. Le texte associé à ce code d'erreur ne peut pas être trouvée.Procédé nom ou l'adresse du serveur ne peuvent pas être résolus

Passage à Tout CPU ou x86 par exemple, et l'appel réussit.

Un échantillon de ce que le code pourrait ressembler à:

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(); 
      } 
     } 

Comment interpréter cette observation pour résoudre le problème?

Remarque: Les réseaux privés App (Client & Server) sous Capabilities dans Package.appxmanifest sont activés. Appeler un service sans vérifier cette fonctionnalité est utilisé pour provoquer la même erreur.

mise à jour avec StackTrace

à System.Net.Http.HttpClientHandler.d__86.MoveNext() \ r \ n --- Fin de trace de la pile à partir de l'emplacement précédent où exception a été levée --- \ r \ n à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (tâche Tâche) \ r \ n à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (tâche Tâche) \ r \ n à System.Net.Http.HttpClient.d__58 .MoveNext() \ r \ n --- Fin de la trace de la pile de l'emplacement précédent où l'exception a été levée --- \ r \ n à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (tâche Task) \ r \ n sur System. Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat ion (tâche de la tâche) \ r \ n à System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() \ r \ n à ProjectName.Views.MainPage.d__4.MoveNext()

+0

Quel est le format de votre ** uri **? Avez-vous fatigué 'Windows.Web.Http.HttpClient'? –

+0

@ RitaHan-MSFT, j'ai mis à jour la réponse avec un uri et StackTrace. – usefulBee

+0

La capacité de mise en réseau est également sélectionnée? – Quincy

Répondre

0

En bref, en utilisant la l'adresse IP du serveur au lieu du nom de l'hôte/du serveur, a résolu le problème. Sinon, la résolution du nom peut nécessiter la modification du fichier hosts comme décrit dans here.