我已经将 Flurl 设置为在我的 Xamarin PCL 中运行,并且我正在调用我在 MVC 应用程序中运行的 Web Api。
似乎 Flurl 可以毫无问题地访问我部署的 API,但由于某种原因我无法在本地测试更改。
这就是我正在做的事情:
var data = await "http://localhost:60257/api/gigapi".GetJsonAsync<List<Gig>>();
我也尝试了一个简单的 GetAsync() 但同样无济于事。
任何帮助,将不胜感激。
编辑:
只是为了获得更多信息,该项目是对 Ionic 移动应用程序的重新开发。我已经在本地运行了 ionic 应用程序,它能够毫无问题地访问我的本地 web api,所以这不是防火墙问题或类似的问题 - 这可能是我在 Flurl 中做错的事情。
编辑2:
这是例外:
e.Message“对http://localhost:60257/api/gigapi 的请求失败。错误:ConnectFailure(连接被拒绝)”字符串
和堆栈跟踪:
StackTrace " 在 Flurl.Http.Configuration.FlurlMessageHandler+d__1.MoveNext () [0x003ec] 在 C:\projects\flurl\src\Flurl.Http.Shared\Configuration\FlurlMessageHandler.cs:62 \n--- 堆栈结束从先前引发异常的位置跟踪 ---\n 在 Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task 任务) [0x00042] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 \n 在 Microsoft.Runtime.CompilerServices .TaskAwaiter.HandleNonSuccess (System.Threading.Tasks.Task 任务) [0x0001c] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 \n 在 Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task 任务) [0x00009] 在 < 1c7d529d87ec4bdcbde02e9494f3b5ae>:0 \n 在 Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 \n at Flurl.Http.HttpResponseMessageExtensions+<ReceiveJson>d__0
1[T].MoveNext () [0x00024] in C:\projects\flurl\src\Flurl.Http.Shared\HttpResponseMessageExtensions.cs:26 \n--- 堆栈跟踪从上一个引发异常的位置结束 -- -\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/ /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/ 中的 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task 任务) [0x00047] 处的 exceptionservicescommon.cs:143 \n类/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 \n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.任务任务)[0x0002e] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 \n 在 System.Runtime。 CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task 任务) [0x0000b] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/ TaskAwaiter.cs:128 \n 在 System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource /mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 \n 在 C:\Users\Minneth\Documents\Projects\SarifForms\SarifForms\Login.xaml.cs 中的 SarifForms.Login+d__1.MoveNext () [0x00033] :31 " 字符串细绳细绳任务任务)[0x0000b] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 \n 在 System.Runtime。 CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs :357 \n 在 SarifForms.Login+d__1.MoveNext () [0x00033] 在 C:\Users\Minneth\Documents\Projects\SarifForms\SarifForms\Login.xaml.cs:31 "字符串任务任务)[0x0000b] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 \n 在 System.Runtime。 CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] 在 /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs :357 \n 在 SarifForms.Login+d__1.MoveNext () [0x00033] 在 C:\Users\Minneth\Documents\Projects\SarifForms\SarifForms\Login.xaml.cs:31 "字符串GetResult () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 \n 在 SarifForms.Login+ d__1.MoveNext () [0x00033] 在 C:\Users\Minneth\Documents\Projects\SarifForms\SarifForms\Login.xaml.cs:31 "字符串GetResult () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 \n 在 SarifForms.Login+ d__1.MoveNext () [0x00033] 在 C:\Users\Minneth\Documents\Projects\SarifForms\SarifForms\Login.xaml.cs:31 "字符串
最后更新:
答案贴在下面。