2009-03-24 5 views
0

사용자가 작성한 거대한 양식의 쿼리 페이지가 있습니다. 버튼을 클릭하면 사용자는 다음 페이지의 프로세스가 끝날 때까지 기다렸다가 실행을 마친 다음 새 페이지로 리디렉션됩니다. 장시간 실행중인 프로세스가 다음 페이지에서 실행중인 경우 이는 일반적인 동작입니다.ASP.NET : 리디렉션 된 페이지에서 장기 실행 프로세스의 UpdateProgress가 필요합니다.

어떤 식 으로든 UpdateProgress를 실행하여 다음 페이지에서 실행중인 프로세스가 있음을 사용자에게 알리고 싶습니다.

일부 지연로드를 시도했지만 정확히 작동하지 않는 이유가 확실하지 않습니다. 그것은 간단한 ASPX 페이지로 FormView를 사용하여 데이터를 표시합니다. 모두 업데이트 패널 내에 있습니다. 아무도 제안이 없나요?

답변

1

이 작업을 수행하는 유일한 방법은 작업 단위를 수행하는 작업자 스레드를 만드는 것입니다. 그런 다음 폴링 페이지를 사용하여 스레드 진행률에 대한 업데이트를 요청하고 작업이 완료 될 때까지 자체 페이지로 리디렉션되도록했습니다.

그것은 나를 위해 일했지만 도움을 줄 수있는 스 니펫이 없습니다 (미안). 하지만이 방법을 시도 할 때 스레드 설정 방법에 대해 신중해야합니다. 시작을 위해 메모리가 제대로 작동하면 backgroundworker를 사용하지 않아야합니다 (잠재적으로) asp.net 스레드 풀이 굶어 죽을 것입니다.

내 코드에서 내 스레드를 만들고 모든 폴링을 처리하고 (등) 직접 참여했습니다.

필요한 경우 다른 사람들이 더 좋은 답변이나 발췌문을 가지고 있지 않으면이 추가 답변을 몇 가지 추가 데이터로 업데이트 할 수 있습니다. :)

HTH!

관련 문제