HTTPMaximumConnectionsPerHost,timeoutIntervalForRequest не влияет на defaultSession при использовании в пользовательском протоколе iOS
Я использую пользовательский протокол, где я создаю NSURLSession с defaultConfiguration. Вот мой код -
`
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];
}
`
Когда приложение отправляет сотни запросов, время обработки запросов по пользовательскому протоколу увеличивается. Я вижу максимальное время ожидания 60 секунд. Нет влияния этих параметров конфигурации.
1 ответ
Немного URLSessionConfiguration
свойства должны быть установлены до того, как конфигурация будет использована для создания нового URLSession
, Например, чтобы настроить timeoutIntervalForRequest
Вы должны сделать следующее:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 2
let session = URLSession(configuration: configuration)