무엇을 처리하는 가장 좋은 방법은 오래 실행되는 프로세스 ASP.Net 응용 프로그램?

StackOverflow https://stackoverflow.com/questions/73039

  •  09-06-2019
  •  | 
  •  

문제

내 웹 응용 프로그램은 프로세스는 데이터 쿼리에서 웹을 통해 모든 필터링하고,데이터베이스에 저장합니다.당신이 상상할 수 있듯이 이 프로세스 시간이 좀 걸립니다.현재 해결책을 증가시키는 페이지는 제한 시간 및 주 AJAX 진행 표시줄을 사용하는 동안 그것이 로드됩니다.이 문제를 두 가지 이유-1)그것은 여전히 오래 걸리는 사용자 기다려야 합 2)그것은 때로는 여전히 시간이 제한됩니다.

나는 다뤄서 실을 꿰는 프로세스가 읽고 내가 비동기를 게시하는 web 서비스("제").

일부를 참조 나는 읽기:
- MSDN
- 화재 및 잊

그래서 제 질문은 무엇이 최선의 방법은?

업데이트:후에는 사용자의 입력 데이터하고 싶 리디렉션하는 결과 페이지 점진적으로 업데이트 과정은 백그라운드에서 실행됩니다.

도움이 되었습니까?

해결책

을 방지하는 과도한 건축 천문학,나는 자주 숨겨진 사용 iframe 화의 오래 실행되는 프로세스와 스트림을 다시 진행 상황 정보.과 함께 같은 뭔가 jsProgressBarHandler, 할 수 있는 아주 쉽게 만들기 좋은 밴드의 진행 상황에 대한 표시 작업을 더 이상 어디에 일반적인 애니메이션을 진행되지 않습니다.

특정 상황에,당신이 사용할 수 있습 LongRunningProcess.aspx 전화당 작업을 피하기 위해,그 페이지에 시간이 초과되었습니다.

예를 들어,통화 LongRunningProcess.aspx?taskID=1 를 시작한 다음의 끝에서는 작업 방출

document.location = "LongRunningProcess.aspx?taskID=2".  

데이타 절약 기능은 와이파.

다른 팁

우리는 유사한 문제 및 해결을 시작하여 작업을 통해 asychronous 웹 서비스를 통화(는 사용자가하지 않았을 기다려야에 대한 작업을 완료).웹사 서비스는 다음 시작한 SQL 작업을 수행한 작업과 정기적으로 업데이트는 테이블과 함께 작업의 상태.우리가 제공하는 허용되는 사용자가 쿼리 테이블.

나이 정확한 문제로 실행에서 마지막 작업입니다.최고의 방법을 발견했을 해 asychronous 프로세스와 사용자에게 통지가 완료되면(이메일 또는 다른 뭔가).그들이 그렇게 오래 기다릴 것이 문제가 될 때문에 시간을 낭비의 생산성한다.갖는 그들을 기다리는 진행 표시줄을 줄 수 있는 그들의 잘못된 인식할 수 있는 안전 프로세스를 취소할 때 브라우저를 닫는 경우하지 않을 수 있습 방법에 따라 설정 시스템입니다.

  1. 어떻게 당신은 쿼리 데이터를 원격?
  2. 얼마나 자주 그 변경합니까?
  3. 는 결과가 될 수 있는 캐시한 기간 동안의 시간은?
  4. 얼마나 오래 동안의 시간은 실제로 우리가 여기서 얘기하고 있는?

'최고의 방법은'가능성이 따라 달라 집에서 몇 가지 방법으로 이러한 질문에 대한 답변을...

을 만들 수 있는 또 다른 스레드 및 저장을 참조하여 실 세션에는 응용 프로그램 상태에 따라,어떠했는 스레드 한 번만 실행할 수 있습당 웹 사이트 또는 한 사용자별 세션이 있습니다.
할 수 있습니다 다음 사용자를 리디렉션 페이지에는 모니터 스레드가 진행됩니다.를 설정할 수 있는 페이지를 새로 고침을 자동으로 표시하거나 새로고침 버튼을 사용합니다.
이 완료되면의 스레드에,당신은 이메일을 보낼 수 있습니다.

나의 솔루션이있는 밴드 서비스는 이러한 캐시들에서 db.

을 때 이 사람이 요구하는 무언가를 위해 첫번째로,그들의 비트를 기다린 다음 그것을 보여줍니다 하지만 그들은 새로 고침,그는 즉시,그리고,그 때문에 int 그는 db,지금의 일부가 매시 업데이트에 대한 옆에서 24 시간 마지막 요청을 합니다.

추가 작업,그것의 관련 매개변수로,작업 대기열 테이블.다음 쓰기,윈도우 서비스는 이러한 작업 과정은 그 결과를 저장하는 적절한 위치에,이메일 요청에 대한 링크와 함께 결과입니다.그것은 또한 좋은 터치스를 제공 몇 가지 종류의 UI 그래서 사용자의 상태를 확인할 수 있습니다 그들의 직업(s).

이 방법보다 훨씬 더 나은 실행 별도의 스레드를 증가 시간 초과,특히 경우 응용 프로그램은 더 크고 필요,규모로 추가할 수 있습니다 단순히 여러 서버 프로세스 작업에 필요한 경우입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top