Аннулировать сеанс по умолчанию — NSURLSession

Я использую NSURLSessions по умолчанию в своем приложении. Я бы хотел знать,

  1. Можно ли аннулировать сеанс по умолчанию и какое подходящее время для аннулирования в течение жизненного цикла приложения?

  2. Когда сеанс становится недействительным, учетные данные для сеанса удаляются из NSURLCredentialStorage или есть какой-либо другой способ сделать это?

Заранее спасибо.


person Dhammini F.    schedule 31.07.2014    source источник


Ответы (1)


Отмените его, если вы знаете, что не хотите добавлять к нему какие-либо новые запросы, и когда у вас либо нет невыполненных запросов в этом сеансе, либо вам не нужны результаты этих запросов.

Не зная, что делает ваше приложение, мы не сможем узнать, когда это может произойти. Например, если вы реализуете браузер, вы можете создать сеанс для каждой вкладки и сделать сеанс недействительным, когда пользователь закроет вкладку, при необходимости отменив все невыполненные запросы.

Учетные данные могут быть сеансовыми или постоянными. По умолчанию я думаю, что это длится в течение сеанса приложения, что означает, что оно длится до тех пор, пока приложение не будет закрыто. Если вы хотите, чтобы это было для сеанса URL-адреса, IIRC, вам необходимо создать свой собственный объект хранилища учетных данных и указать, что сеанс URL-адреса должен использовать этот объект. Затем, когда сеанс URL-адреса завершается, исчезает и объект. В зависимости от того, что вы делаете, вам может понадобиться создать свой собственный подкласс, который сначала ищет данные в общем кэше учетных данных, но всегда сохраняет их только в себе.

person dgatwood    schedule 28.10.2015