2010-07-28 1 views
1

asp.net 버튼에서 실행해야하는 저장 프로 시저가 있습니다. 실행하는 데 30 분 이상 걸립니다.asp.net에서 저장된 proc을 실행하는 동안 다른 페이지에서 계속 작업하는 방법은 무엇입니까?

그래서 여기서는 실행 중 "처리 중"과 같은 메시지를 표시하고 링크 두 개를 비활성화해야합니다. 실행이 완료되면 "마지막으로 처리 된 데이터 및 시간"을 표시하고 비활성화 된 링크를 활성화해야합니다.

"처리 중"단계에서 사용자가 사이트의 다른 페이지에 액세스 할 수 있도록 허용해야합니다. 어떻게 가능합니까?

이 요구 사항을 도와주세요. 미리 감사드립니다.

+2

'30 분 이상 걸립니다. '- 그게 문제입니다. –

+0

sp itslelef가 더 오래 걸립니다. 평균 시간 "IN PROCESS"로 메시지를 표시하고 다른 페이지에 액세스해야합니다. – James123

+0

30 분이 소요되는 합리적인 SP (백업 기반은 아님)는 생각할 수 없습니다. –

답변

0

핵심 문제는 디자인상의 문제입니다. 그렇게 오래 걸리는 작업은 어떤 방식 으로든 UI를 유지해야합니다. 아마 플래그를 사용하여이 문제를 해결할 수는 있지만, 우선이 문제가 실행되는 동안 을 사용 중지할지 여부를 심각하게 재검토해야합니다. 이상적으로, 사용자는 그것을 실행하고 잊어 버리고 궁극적으로 "끝났습니다"라는 말을 다시 얻을 것입니다. 그들이 심지어 그때까지 걱정한다고 가정하면 - 30 분은 오래 걸립니다.

+0

저는 SP를 다시 시작하지 못하도록하는 것이 아이디어라고 생각합니다. –

0

sp가 여러 번 실행되는 것을 중지하고 다른 스레드에서 sql 호출을 실행하고 완료되면 Invoke를 사용하거나 플래그를 설정하여 주 응용 프로그램 스레드가 완료되었음을 알리고 이에 따라 조치를 취할 수 있도록합니다. 30 분이 정말 오랜 시간이긴하지만

관련 문제