防止NSURLSessionDataTask重复触发请求

时间:2015-04-17 06:55:38

标签: ios nsurlsession nsurlsessiondatatask

我正在使用NSURLSessionDataTask从打开由iPhone加入的adhoc-WiFi的设备中获取JSON数据。 (连接通过TCP运行。)

设备非常慢 - 发送特定响应需要大约5秒钟。 通过dataTask.resume()触发请求后,我的应用程序正在等待调用completionHandler。 不幸的是,请求一次又一次地被触发(每次延迟~1秒后)。我想这是由dataTask或NSURLSession启动的。我可以在调试设备时监控重复的请求。

以下是我使用的代码:

let URL = NSURL(string: "<myURL>")! 

let configuration = NSURLSessionConfiguration.ephemeralSessionConfiguration()
configuration.HTTPShouldUsePipelining = false
configuration.HTTPMaximumConnectionsPerHost = 1
configuration.allowsCellularAccess = false
configuration.timeoutIntervalForRequest = 30

let session = NSURLSession(configuration: configuration)
let dataTask = session.dataTaskWithURL(URL) {
// the request gets fired repeatedly before this completionHandler is called!
(data, response, error) -> Void in
...
}

dataTask.resume()

有谁知道如何防止iOS重新触发这些请求?

0 个答案:

没有答案