2012-11-07 37 views
9

Tôi đang sử dụng phương thức HTTP Post và bắt đầu yêu cầu đồng bộ. [NSURLConnection sendSynchronousRequest: ..]Bài đăng HTTP - Hết giờ - Nhiều yêu cầu được bắt đầu trong khoảng thời gian chờ

Đối với yêu cầu HTTP POST, thời gian mặc định sẽ diễn ra ở 75 giây như được thảo luận trong nhiều chủ đề.

Nhưng trong khoảng thời gian đó trong 75 giây, nhiều yêu cầu dịch vụ web được bắt đầu cho chúng tôi cho cùng một yêu cầu được đưa ra với tất cả các thông số giống nhau.

Vui lòng cho chúng tôi biết Nguyên nhân khiến nhiều yêu cầu này được bắt đầu? Đây có phải là do HTTP POST nói chung hoặc do yêu cầu Đồng bộ không?

@iOS Mã mẫu

[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

Bạn có thể thả một phần mẫu của nguồn của mình không, có thể đã xảy ra sự cố. Tôi chưa bao giờ có một hành vi như vậy. – iOS

+0

@iOS Đã thêm mã mẫu ở trên – Subi

+0

Thú vị, tôi muốn kiểm tra và ghi lại tất cả các sự kiện sẽ hiển thị trong khi truyền không đồng bộ, có thể hệ thống có một số lý do cho chuyển hướng dẫn đến nhiều yêu cầu.Chỉ để gỡ lỗi tôi sẽ khuyên bạn nên sử dụng bài viết không đồng bộ và đặt trong tất cả các sự kiện và đăng nhập chúng với 'NSLog()' để xem điều gì xảy ra từ phía hệ thống. Afaik không có cách nào để ghi lại các sự kiện này ở chế độ đồng bộ. Hy vọng rằng điều này sẽ giúp, nếu không tôi chỉ có thể kiểm tra việc chuyển từ hệ thống của tôi. – iOS

Trả lời

1

Nếu không có yêu cầu đáp ứng của máy chủ đăng nhập có một số khả năng.

Lỗi lập trình: Bạn đã trải qua tất cả các tình huống kiểu "gotchya" chưa?

  • Bạn đã đặt một thông điệp đăng nhập ngay trước khi bạn "urlData = [NSURLConnection sendSynchronousRequest: ..." dòng để đảm bảo mã của bạn chỉ gọi nó một lần?

  • Bạn có đang gọi hàm này từ bên trong luồng GUI chính của mình, nếu bạn không được hỗ trợ/đề xuất, điều đó có nghĩa là nó có thể gây ra tác dụng phụ như những gì bạn mô tả. https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

  • Bạn có chắc chắn yêu cầu của bạn được thiết lập là một POST và có các tiêu đề thích hợp như "Content-type: multipart/form-data, ranh giới = X"

Web Server Responses : Nếu không có nhật ký máy chủ web (hoặc mã cho dịch vụ POSTING của bạn) thật khó để nói ...

Lỗi API: Bạn đã tìm thấy một số trường hợp góc gây ra tác dụng phụ không mong muốn. Có thể Apple có trình theo dõi lỗi hoặc diễn đàn hỗ trợ nhà phát triển?

Các vấn đề liên quan