2012-11-07 11 views
9

Używam metody HTTP Post i inicjowania żądania synchronicznego. [NSURLConnection sendSynchronousRequest: ..]Poczta HTTP - przekroczenie czasu - uruchamianie wielu żądań w ramach limitu czasu

W przypadku żądań HTTP POST domyślny limit czasu ma miejsce w 75 sekund, jak omówiono w wielu wątkach.

Ale w tym czasie 75 sekund, wiele żądań usług internetowych są dla nas inicjowane dla tego samego żądania podniesione z tymi samymi parametrami.

Daj nam znać. Co powoduje, że te wielokrotne prośby zostaną zainicjowane? Czy wynika to z ogólnego testu HTTP POST lub z powodu żądania synchronicznego?

@iOS Przykładowy kod

[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[request setHTTPBody:body]; 
[request addValue:[NSString stringWithFormat:@"%d", body.length] forHTTPHeaderField: @"Content-Length"]; 

[[NSURLCache sharedURLCache] setDiskCapacity:0]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:0]; 

NSURLResponse *response; 
response = nil; 

urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];    
if(urlData) 
{ 
     NSString *responseString = [[NSString alloc] initWithData:urlData encoding:NSASCIIStringEncoding]; 
     [self parseStringInformation:responseString infoDict:informationDictionary]; 
     //NSLog(@"%@",responseString); 
} 
+0

Czy możesz upuścić przykładową część swojego źródła, może być coś złego. Nigdy nie dostałem takiego zachowania. – iOS

+0

@iOS Dodano przykładowy kod powyżej – Subi

+0

Interesujące, chciałbym sprawdzić i zarejestrować wszystkie zdarzenia, które będą widoczne podczas transferu asynchronicznego, może być system ma pewne powody przekierowań, które prowadzą do wielu żądań.Tylko do debugowania polecam użyć postu asynchronicznego i wstawić wszystkie zdarzenia i zalogować je za pomocą 'NSLog()', aby zobaczyć, co dzieje się po stronie systemu. Afaik nie ma możliwości zarejestrowania tych zdarzeń w trybie synchronicznym. Mam nadzieję, że to pomaga, w przeciwnym razie mógłbym tylko sprawdzić transfer z mojego systemu. – iOS

Odpowiedz

1

bez żądania-odpowiedzi serwera loguje istnieje kilka możliwości.

Błąd programisty: Czy przeszedłeś już wszystkie sytuacje typu "gotchya"?

Odpowiedzi Web Server : Bez dzienników serwerów WWW (lub kodu usługi, do której TWÓRZ POST), trudno powiedzieć ...

API Error: Znalazłeś jakąś sprawę rożnego, które powodują niepożądane skutki uboczne. Może Apple ma narzędzie do śledzenia błędów lub forum pomocy dla programistów?

Powiązane problemy