如果我提出一个Web服务请求,并在iOS应用程序中后台运行并再次使其前台运行,则会收到一个异常,表明该请求已被取消。这是错误还是iOS的操作方式?我找不到与此有关的任何文档。使用Xamarin Forms实现可靠的Web服务机制的正确方法是什么?我按照here中记录的HttpClient
示例进行操作。
答案 0 :(得分:0)
这在前景和背景中都对我有效。 也许您还需要在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);
}