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)
Другие вопросы по тегам