【发布时间】:2014-01-15 02:21:52
【问题描述】:
环境: - MyViewController(相同的 ViewController)
使用RKObjectManager 引用AFHTTPClient (* client)。
1 - 第一个请求
[client setDefaultHeader:@"api_key" value:session.getApi_Key];
[client setDefaultHeader:@"Content-Length" value:postLength];
[client setDefaultHeader:@"Content-Type" value:@"application/x-www-form-urlencoded"];
[client setDefaultHeader:@"signature" value:signature];
[client setDefaultHeader:@"date" value:date];
[[RKObjectManager sharedManager] postObject:nil
path:[SMRequestFactory getTokenRequestPath]
parameters:[SMRequestFactory getTokenRequestParams: self.usuario.text : self.senha.text]
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { **Call request 2** }
failure:^(RKObjectRequestOperation *operation, NSError *error) {...}];
2 - 第二个请求
[client setDefaultHeader:@"api_key" value:session.getApi_Key];
[client setDefaultHeader:@"access_token" value:session.getAccessToken];
[client setDefaultHeader:@"signature" value:session.getSignature];
[client setDefaultHeader:@"date" value:session.getData];
[[RKObjectManager sharedManager] postObject:nil
path:[SMRequestFactory getLoginRequestPath]
parameters:[SMRequestFactory getLoginRequestParams]
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { **Call request 3** }
failure:^(RKObjectRequestOperation *operation, NSError *error) {...}];
3 - 第三次请求操作超时
[client setDefaultHeader:@"api_key" value:session.getApi_Key];
[client setDefaultHeader:@"access_token" value:session.getAccessToken];
[client setDefaultHeader:@"signature" value:session.getSignature];
[client setDefaultHeader:@"date" value:session.getData];
[[RKObjectManager sharedManager] getObjectsAtPath:[SMRequestFactory getUsuariosRequestPath]
parameters:nil
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){ }
failure:^(RKObjectRequestOperation *operation, NSError *error) {}];
如果按照顺序,第三个请求:服务器收到并响应但60秒后超时。
即使是按钮调用(之前不是成功),如果按照顺序,第三个请求也会超时。
当第一次调用时,第三个请求有效。
【问题讨论】:
-
你检查过服务器日志吗?什么是会话 - 特别是在标题中设置的日期?是否同时发出任何其他请求(这可能会改变公共标头)?您需要清楚服务器期望在标头中接收什么。
标签: ios session restkit afnetworking restkit-0.20