2016-11-08 4 views
0

J'ai configuré Flurl pour qu'il s'exécute dans ma PCL Xamarin, et j'appelle un Api Web que j'ai exécuté dans une application MVC.Connexion de l'hôte local Flurl Refus

Il semble que Flurl ne puisse pas heurter mon API déployée, mais je suis incapable de tester les modifications localement pour une raison quelconque.

Voici ce que je fais:

var data = await "http://localhost:60257/api/gigapi".GetJsonAsync<List<Gig>>(); 

J'ai essayé simple GetAsync() aussi, mais encore une fois, sans succès.

Toute aide serait appréciée.

EDIT:

Juste un peu plus d'informations, le projet est un projet de réaménagement d'une application mobile ionique. J'ai lancé l'application ionique en local et cela me permet de ne pas avoir de problèmes avec mon API Web locale, donc ce n'est pas un problème de pare-feu ou quoi que ce soit - C'est probablement quelque chose que je fais mal dans Flurl.

EDIT2:

est ici l'exception:

e.Message "Demande de http://localhost:60257/api/gigapi échoué Erreur: ConnectFailure (Connexion refusée)" string

Et le stacktrace:

StackTrace " à Flurl.Http.Configuration.FlurlMessageHandler + d__1.MoveNext() [0x003ec] dans C: \ projects \ flurl \ src \ Flurl.Http.Shared \ Configuration \ FlurlMessageHandler.cs: 62 \ n --- Fin de trace de pile à partir de emplacement précédent où excep a été levée --- \ n à Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (tâche System.Threading.Tasks.Task) [0x00042] dans < 1c7d529d87ec4bdcbde02e9494f3b5ae>: 0 \ n à Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess (Tâche System.Threading.Tasks.Task) [0x0001c] dans < 1c7d529d87ec4bdcbde02e9494f3b5ae>: 0 \ n à Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (Tâche System.Threading.Tasks.Task) [0x00009] dans < 1c7d529d87ec4bdcbde02e9494f3b5ae>: 0 \ n à Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable 1+ConfiguredTaskAwaiter[TResult].GetResult() [0x00000] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 \n at Flurl.Http.HttpResponseMessageExtensions+<ReceiveJson>d__0 1 [T] .MoveNext() [0x00024] dans C: \ projets \ flurl \ src \ Flurl.Http.Shared \ HttpResponseMessageExtensions.cs: 26 \ n --- Fin de pile trace de l'emplacement précédent où l'exception a été levée --- \ n à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] dans/Users/builder/data/voies/3819/96c7ba6c/source/mono/mcs/classe/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs: 143 \ n à la tâche System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task) [0x00047] dans/Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/classe/sourcesource/mscorlib/système/runtime/compilerservices/TaskAwaiter.cs: 187 \ n à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (tâche System.Threading.Tasks.Task) [0x0002e] dans/Utilisateurs/constructeur/données/voies/3819/96c7ba6c/source/mono/mcs/classe/sourcesource/mscorlib/système/runtime/compilerservices/TaskAwaiter.cs: 156 \ n à System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System. Tâche Threading.Tasks.Task) [0x0000b] dans /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 \ n at System.Runtime.CompilerServices.TaskAwaiter`1 [TResult] .GetResult() [0x00000] dans/Users/builder/data/voies/3819/96c7ba6c/source/mono/mcs/class/reference esource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs: 357 \ n SarifForms.Login + d__1.MoveNext() [0x00033] dans C: \ Utilisateurs \ Minneth \ Documents \ Projects \ SarifForms \ SarifForms \ Login.xaml.cs: 31 "string

MISE A JOUR FINALE:

réponse affichée ci-dessous

+0

Pouvez-vous fournir des détails sur ce qui se passe lorsque vous l'exécutez localement? Une exception est-elle levée? Si oui, veuillez fournir les détails de l'exception et la trace de la pile. –

+0

Ajouté comme modification. Merci! –

Répondre

0

peu évident reallly, mais je pense que je travaille sur la question

Je teste mon application Xamarin.. qui est l'utilisation Flurl de l'émulateur Android, donc localhost est en fait l'émulateur Android -. Pas mon api web local en cours d'exécution sur la même machine

Je crois que je dois utiliser le rebouclage IP de 10.0.2.2 à la place

.

La raison pour laquelle cela fonctionne avec mon application Ionic est parce que je cours l'application ionique dans le navigateur plutôt que l'émulateur Andorid.

Espérons que cela aide quelqu'un.