2011-04-07 3 views
0

간단한 AJAX 프레임 워크를 http://www.iqp.vn에 만들었습니다. 사용자가 많은 ajax 요청을하거나 취소 할 수있게했습니다.Ajax 요청은 단일 서버 스레드에 의해 제공됩니까?

하지만 테스팅에서 알 수 있듯이 사용자가 큰 텍스트 파일을 복사/쓰기하는 것과 같이 오랜 시간이 걸리는 일을하는 아약스 요청을하면 후속 요청은 실행되기 전에 첫 번째 요청이 완료 될 때까지 대기합니다. . 클라이언트에서는 두 번째 요청을 볼 수 있지만 매우 빠른 처리를 수행하지만 첫 번째 "큰"요청이 완료된 후에 항상 반환됩니다.

또한 숨겨진 양식 (iframe) 제출을 사용하여 사용자가 아약스 스타일로 파일을 업로드 할 수 있도록하고 사용자가 큰 파일을 업로드하고 요청을 취소하면 (클라이언트의 iframe을 재설정합니다) 생성하려면 클릭하십시오. 다른 요청, 나중의 요청은 항상 첫 번째 업로드 요청이 끝날 때까지 기다리는 것을 볼 수 있습니다.

아무쪼록이 질문에 도움을 주시겠습니까? 아약스를 사용하고 (가능한 경우) 서버에서 다중 스레드 처리를 사용한다고 생각합니다. 클라이언트에서 아주 좋은 효과를 얻을 수 있습니다.

+0

코드의 일부가 활용할 수 있도록 게시하시기 바랍니다 대답 .... –

+0

나중에 약간의 리팩터링 후 내 코드를 공개 할 것입니다 – digitalhunter

+0

아마이 문제를 발견했을 때 네트워크가 너무 나빴습니다. 이제 예상대로 작동합니다. 당신의 도움을 주셔서 대단히 감사합니다. – digitalhunter

답변

0

이 동작은 웹 서버 구성에 따라 다릅니다. 응용 프로그램 풀에 할당 된 스레드가 하나 뿐인 경우 해당 스레드는 모든 요청을 처리합니다.

2

Ajax 요청은 일반적인 요청처럼 처리됩니다.

  • (클라이언트 측)에게 전화하기 전에 다른 사람이 끝내기를 기다리는 AJAX 호출이 있습니까?
  • 서버에 잠금 메커니즘을 구현합니까?
  • 는 스레드 풀의 모든 스레드가

그냥 참조를 위해,이 jQuery 플러그인 동시에 여러 파일을 업로드 할 수 있습니다 다른 요청에 바쁜 될 수있다 http://aquantum-demo.appspot.com/file-upload

+0

클라이언트 측에서 독립적으로 ajax를 호출합니다. 서버에 잠금 장치가 없으므로 내 사이트가 새 것이므로 과부하가 걸리지 않을 수 있습니다. 내 업로드 코드 (iframe 및 숨김 형식)는 ajax 양식 jquery 플러그인과 유사합니다. 업로드 요구가 다른 요청을 차단할 수 없도록 각 웹 요청이 새 스레드에 의해 처리되는 것으로 생각했습니다. [업로드 링크] (http://www.iqp.vn/#!mh=&mh_lh=Examples/LeftTree&mh_rh=Examples/UpdatePanel) 여기에 파일을 업로드 한 다음 적색 십자 버튼을 클릭하여 즉시 중단 한 다음 어떤 링크를로드 할 때 업로드 요청에 의해 차단됩니다. – digitalhunter

관련 문제