HTTPMaximumConnectionsPerHost,在iOS自定义协议中使用时,timeoutIntervalForRequest不会影响defaultSession

时间:2016-05-15 17:39:55

标签: ios nsurlsession nsurlprotocol nsurlsessionconfiguration

我正在使用自定义协议,我使用defaultConfiguration创建NSURLSession。这是我的代码 -

`   
 NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];

config.timeoutIntervalForRequest = 10.0;
config.timeoutIntervalForResource = 10.0;
config.HTTPMaximumConnectionsPerHost = 2;
config.connectionProxyDictionary = proxyToUse;

[NSURLProtocol setProperty:@YES forKey:@"MyURLProtocolHandledKey" inRequest:mReq];

if(!_mySession) {
    _mySession = [NSURLSession sessionWithConfiguration:config
                              delegate:self
                         delegateQueue:nil];
}

`

当App发出数百个请求时,从自定义协议提供请求的响应时间会逐渐增加。我可以看到60秒的最大超时。这些配置参数没有任何影响。

1 个答案:

答案 0 :(得分:0)

在使用配置创建新的URLSessionConfiguration之前,应设置一些URLSession属性。例如,要设置timeoutIntervalForRequest,您必须执行以下操作:

let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 2
let session = URLSession(configuration: configuration)