2010-01-06 6 views
5

여기 내가하려는 일이 있습니다. 웹 사이트에서 사용자가 서비스가 선택하여 처리하는 작업 표에 대기중인 요청을 제출할 수 있습니다. 나는 요청이 처리를 위해 대기 중이거나 서비스에 의해 현재 처리되고 있는지 또는 서비스가 요청 처리를 완료했는지 여부를 나타내는 상태 열을 테이블에 가지고 있습니다. 전체 과정은 몇 분이 걸립니다.웹 페이지에서 데이터베이스를 폴링 하시겠습니까? - ASP.NET

나는 현재 요청 상태를 실시간으로 보여줘야하는 상태 ASP.NET 페이지가 있습니다. 나는 일종의 애니메이션을 보여주고 현재 상태를 나타내고 싶다. 이 일을 할 수있는 한 가지 방법은 요청의 상태를 확인하는 x 초마다 메타 HTTP 새로 고침을하는 것입니다 (이 경우 Expedia, Priceline와 같은 사이트가 어떻게되는 것입니까?)

전체를 방지하고 싶습니다. 페이지 새로 고침이 가능하며 AJAX/JQuery 솔루션을 찾고 있습니다. 어떻게 구현할 수 있습니까? 올바른 접근법을 폴링합니까? 당신이 웹 페이지가 서버에 계속 실행하지 않으려면

답변

4

AJAX를 통한 폴링은 사용자의 요구에 가장 쉽고 간단합니다. 시간의 상한과 하한을 알고 있다면 나는 그 시간 동안 애니메이션을 실행시킨 다음 예외적 인 경우를 위해 뭔가를 할 것입니다.

다른 사람은 같은 짓을 :

참조 : http://news.ycombinator.com/item?id=946165

+0

이것을 구현하는 방법에 대한 코드 샘플을 작성하거나 알려줄 수 있습니까? – Nick

+0

폴링 솔루션에 대해서는 http://buntin.org/2008/09/23/jquery-polling-plugin/ 채팅 응용 프로그램 용이지만 필요에 맞게 쉽게 조정할 수 있습니다. –

0

폴링은 당신을 귀찮게하지 않는 경우에, 당신이보고 싶을 수도 ... 아마 그러나

가장 좋은 방법입니다 에서 [similar answer] 나는 당신이 동적으로 페이지를 업데이 트 수있는 또 다른 질문을 준 ... 브라우저가 완료 될 때까지 페이지를 "로드"를 계속 나타납니다.

0

http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf 당신이 비동기로 봤어 서버에 호출합니다. 이렇게하면 서버에 호출을 넣고 결과를 기다리지 않고 호출이 끝날 때 클라이언트 페이지의 메소드가 실행됩니다.이 호출은 필요한 것처럼 들릴 수 있습니다. 이 도움이

http://msdn.microsoft.com/en-us/magazine/cc163725.aspx

희망 : 폴링을 수행, 여기에 대한 추가 정보입니다.

+0

프로세스가 세션 시간 초과보다 오래 걸리면 시간 초과가 발생하지 않습니까? – Nick

0

Comet이라고도하는 "long polling"을 조사하고 싶을 수도 있습니다.

아이디어는 클라이언트에서 비동기식 Ajax 요청을하는 것이다. 서버 측에서는 일부 상태가 변경 될 때까지 요청을 보류합니다 (보고 할 새로운 내용이 있음). 그런 다음 요청을 릴리스하면 업데이트 된 정보가 반환됩니다.

이것은 무언가가 변경되었을 때만 요청이 반환된다는 점에서 순수 폴링보다 이점이 있습니다. 또한 서버 측에 의해 크게 영향을 받기 때문에 응답 성이 향상 될 수 있습니다.

관련 문제