2012-03-29 4 views
2

Я использую AFNetworking Framework для iOS. Я подклассифицировал AFHttpClient и использовал его как одноэлементный, т. Е. [TestAFClient sharedClient]iOS AFNetworking - ASP.NET Web API .ASPXAUTH хранение и удаление

Я использую API веб-службы ASP.NET, который требует использования файла cookie .ASPXAUTH. Сначала я должен пройти аутентификацию, получить в ответ файл cookie .ASPXAUTH, а затем передать этот файл cookie с каждым последующим запросом.

После нескольких тестов выяснилось, что, поскольку я использую Singleton AFHTTPClient, cookie .ASPXAuth сохраняется и, следовательно, не требуется явное хранилище файла cookie.

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

Что является наиболее эффективным способом очистки этого файла cookie, чтобы выйти из системы? Установите singleton на nil и заново инициализируйте его? Сделайте что-то вроде setValue:forKey:?

Кроме того, лучше ли я явно хранить файл cookie .ASPXAUTH? И истекает ли это или автоматически возобновляется при необходимости?

Благодаря,

Робби

ответ

11

Печенье фактически обрабатываются базовой системой URL-адреса загрузки, подобно тому, как кэширование выполняется автоматически NSURLCache. Для [NSHTTPCookieStorage sharedHTTPCookieStorage] вам нужно будет найти файл cookie на вашем baseURL, а затем удалить его. Вы можете явно установить или изменить существующий файл cookie таким же образом.