Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当服务器未处于活动状态时,在Flurl Http调用中获取未经处理的异常_Android_Xamarin.android_Flurl - Fatal编程技术网

Android 当服务器未处于活动状态时,在Flurl Http调用中获取未经处理的异常

Android 当服务器未处于活动状态时,在Flurl Http调用中获取未经处理的异常,android,xamarin.android,flurl,Android,Xamarin.android,Flurl,我复制了下面的例外情况。我已经通过VPN连接了我的Android设备,如果VPN连接失败,那么FlurlHttp调用将发出未处理的异常。我正在Xamarin.Android上开发应用程序。若设备是通过VPN连接的,那个么它工作正常。请一些人给出一些解决方案,如何处理它。 如何使用Flurl Http调用获取响应状态码(200) Flurl.Http.FlurlHttpException: Request to http://192.168.110.60/TestServices/MyCall.a

我复制了下面的例外情况。我已经通过VPN连接了我的Android设备,如果VPN连接失败,那么FlurlHttp调用将发出未处理的异常。我正在Xamarin.Android上开发应用程序。若设备是通过VPN连接的,那个么它工作正常。请一些人给出一些解决方案,如何处理它。 如何使用Flurl Http调用获取响应状态码(200)

Flurl.Http.FlurlHttpException: Request to http://192.168.110.60/TestServices/MyCall.aspx?method=Test&username=abc&password=abc failed. A task was canceled. ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   --- End of inner exception stack trace ---
  at Flurl.Http.Configuration.FlurlMessageHandler+<SendAsync>d__1.MoveNext () [0x00000] in C:\projects\flurl\src\Flurl.Http.Shared\Testing\HttpCallAssertion.cs:192 
--- End of stack trace from previous location where exception was thrown ---
  at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00042] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 
  at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess (System.Threading.Tasks.Task task) [0x0001c] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 
  at Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00009] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 
  at Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <1c7d529d87ec4bdcbde02e9494f3b5ae>:0 
  at Flurl.Http.HttpResponseMessageExtensions+<ReceiveString>d__3.MoveNext () [0x00000] in C:\projects\flurl\src\Flurl.Http.Shared\Testing\HttpCallAssertion.cs:150 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <abd9ee18f6114b4cae6c0d74712f64b5>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <abd9ee18f6114b4cae6c0d74712f64b5>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <abd9ee18f6114b4cae6c0d74712f64b5>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <abd9ee18f6114b4cae6c0d74712f64b5>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <abd9ee18f6114b4cae6c0d74712f64b5>:0 
  at PCLTest.APIRepository.APIRepo+<ValidateUrl>d__0.MoveNext () [0x0004f] in C:\D-Drive\branches\PCLTest\APIRepository\APIRepo.cs:20 
An unhandled exception occured.
Flurl.Http.FlurlHttpException:请求http://192.168.110.60/TestServices/MyCall.aspx?method=Test&username=abc&password=abc 失败。任务已取消。-->System.Threading.Tasks.TaskCanceledException:任务已取消。
---内部异常堆栈跟踪的结束---
在C:\projects\Flurl\src\Flurl.Http.Shared\Testing\HttpCallAssertion.cs:192中的Flurl.Http.Configuration.FlurlMessageHandler+d_u1.MoveNext()[0x00000]处
---来自引发异常的上一个位置的堆栈结束跟踪---
在Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task任务)[0x00042]中:0
在Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task任务)[0x0001c]中:0
在Microsoft.Runtime.CompilerServices.TaskWaiter.ValidateEnd(System.Threading.Tasks.Task任务)[0x00009]中:0
在Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult()[0x00000]中:0
在C:\projects\Flurl\src\Flurl.Http.Shared\Testing\HttpCallAssertion.cs中的Flurl.Http.HttpResponseMessageExtensions+d_u3.MoveNext()[0x00000]处
---来自引发异常的上一个位置的堆栈结束跟踪---
0中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[0x0000c]处
0中的System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(System.Threading.Tasks.Task任务)[0x0003e]处
0中的System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task任务)[0x00028]处
0中的System.Runtime.CompilerServices.TaskWaiter.ValidateEnd(System.Threading.Tasks.Task任务)[0x00008]处
位于System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult()[0x00000]的位置:0
在C:\d-Drive\branchs\PCLTest\APIRepository\APIRepo\APIRepo.cs中的PCLTest.APIRepo+d_u0.MoveNext()[0x0004f]处:20
发生未处理的异常。

请求未完成
TaskCanceledException
表示它被明确取消(通过
CancelationToken
),或者更可能发生超时。在抛出异常之前,它是否会旋转一段时间?更有可能是超时。Flurl的默认超时时间为100秒,但您可以将其设置为其他时间


另外,如果可能的话,我强烈建议您使用Flurl.Http。您使用的是非常旧的版本。

谢谢您的快速回复。我使用的是Flurl.Http.Signed最新版本1.1.2,该版本仅在NuGet package Manager上可用。当服务器由于VPN断开而不可用时,只有未处理的异常才会发生。我只需要如何处理它而不发生任何崩溃。这是我的代码,我在其中遇到异常--------------------------------------------------------------------------------------------
public async Task GetData(){try{var getResp=wait'http://192.168.110.60/TestServices/MyCall.aspx?method=Test&username=abc&password=abc.GetStringAsync();return getResp;}catch(异常值){return null;}
try块中引发的异常在catch块中未被捕获?如果是这种情况,恐怕我不知道答案。抱歉。如果VPN已断开连接,则URL将被视为无效URL。如果Http调用之间失去internet连接,如何处理TaskCanceledException。请告知如果VPN未连接,则在浏览器I上如果我请求相同的URL,那么我得到了
此站点无法访问192.168.110.60。响应时间太长。错误\u连接\u超时\u