私の iPad アプリは、ファイルのリストを文字列パラメーターとして、次のfileList
ような Web メソッドに送信します。
NSString *post = [NSString stringWithFormat:@"sessionID=%@&fileList=%@&dateTime=%@&userID=%@", sessionID, fileList, timeOpened, userID];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *comparisonURLString = SERVER_COMPARE_URL_STRING;
NSURL *comparisonURL = [NSURL URLWithString:comparisonURLString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:comparisonURL];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
[request setHTTPMethod:@"POST"];
[request addValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
ファイルのリストが特定のサイズを超えると、切り捨てられたように見えます。Apple のドキュメントには、最大サイズについて何も見つかりませんでした。また、後続のパラメーターは問題なく受信されているようですが、これを問題の原因として割り引く前に、そのような制限があるかどうか誰かが知っているかどうか疑問に思っていましたか?
サーバーは IIS7 を実行しており、webConfigmaxRequestLength
は 1048576 に設定されています。
-編集-
問題の原因:
全体をパラメーターとしてのみ取り、アンパサンド (&) の後のすべてを削除する webmethod を作成したPOST
ので、パラメーターのサイズではなく、ここに問題がある可能性があると思います。