2012-11-07 9 views
9

私はHTTP Postメソッドを使用しており、同期リクエストを開始しています。 [NSURLConnection sendSynchronousRequest:..]HTTPポストタイムアウト - タイムアウト間隔内に複数のリクエストが開始される

HTTP POST要求の場合、多くのスレッドで説明したように、デフォルトのタイムアウトは75秒で発生しています。

しかし、そのタイムアウト期間が75秒の間に、同じパラメータを使用して発生した同じリクエストについて、複数のWebサービスリクエストが開始されています。

ご連絡ください。複数のリクエストが開始される原因は何ですか?これは一般的なHTTP POSTのためか、同期要求のためですか?サーバの要求 - 応答なし

@iOSサンプルコード

[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

ソースのサンプル部分を削除できますか、問題がある可能性があります。私はそのような行動をしたことはありません。 – iOS

+0

@iOS上記のサンプルコードを – Subi

+0

に追加しました興味深いことに、非同期転送中に表示されるすべてのイベントを確認してログに記録したいのですが、複数のリクエストにつながるリダイレクトの理由があります。デバッグのために、私は非同期ポストを使用し、すべてのイベントを入れ、 'NSLog()'でログを記録してシステム側から何が起こるかを確認することをお勧めします。 Afaikには、これらのイベントを同期モードで記録する方法はありません。これが助けてくれることを願っています。それ以外の場合、私のシステムからの転送を確認できます。 – iOS

答えて

1

は、いくつかの可能性があるログに記録します。

プログラマーエラー:「gotchya」のすべての状況を既に経験しましたか?あなたのコードは一度だけ、それを呼び出していることを確認するために行:

  • は、あなたが右のあなたの「... urlData = [NSURLConnection sendSynchronousRequest」前のログメッセージを入れていますか?

  • この機能は、サポートされていない/推奨されている場合はメインのGUIスレッド内から呼び出していますか?つまり、説明しているような副作用を引き起こしている可能性があります。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

  • あなたは必ず、あなたのリクエストをPOSTとして設定等の適切なヘッダを持っているされている「コンテンツタイプ:マルチパート/フォームデータ、境界= X」

Webサーバ応答を :Webサーバのログがないと(あなたの投稿しているサービスのコード)、それは言うのが難しいです...

APIエラー:あなたは望ましくない副作用を引き起こしているいくつかのコーナーケースを発見しました。 appleにバグトラッカーや開発者サポートフォーラムがあるのでしょうか?

関連する問題