【问题标题】:HttpClient web service request gets canceled when iOS app is backgrounded当 iOS 应用程序后台运行时,HttpClient Web 服务请求被取消
【发布时间】:2019-06-15 22:15:54
【问题描述】:

如果我发出 Web 服务请求并将 iOS 应用程序置于后台并再次将其置于前台,则会收到请求已被取消的异常。这是一个错误还是 iOS 的运行方式?我找不到任何关于此的文档。使用 Xamarin Forms 实现可靠的 Web 服务机制的正确方法是什么?我按照here 记录的HttpClient 示例进行操作。

【问题讨论】:

标签: c# ios xamarin xamarin.forms httpclient


【解决方案1】:

这在前台和后台都适用于我。 也许您还需要在 info.plist 中启用后台模式

private async Task<string> UsaHttpClient()
 do
 {
  ...
  ...
  ...
  await Task.Run(async () =>
     {
     HttpClient Client = new HttpClient();
     Client.BaseAddress = new Uri("https://services.xxxxx.com/ServiceApi/");
     var response = Client.GetStringAsync("api/function?Parametro...").Result;
     HttpResponseMessage resp = new HttpResponseMessage();
     resp.Content = new StringContent(response, Encoding.UTF8, "application/json");
     r = response;
     resp.Dispose();
     Client.Dispose();
     await Task.Delay(second for delay);
     });
 } while (X == anyCondition);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多