오랜 시간 동안 asp.net 일 전에 긴 작업을했을 때 작업을 페이지에서 실행하고 일종의 플러시를 사용하여 사용자에게 출력을 보냅니다. . 별도의 스레드 또는 아무것도. asp.net 이후, 나는 같은 방식으로 오랜 작업을 해왔다. 응답을 플러시하는 response.flush가있는 aspx 페이지가 있습니다. 이것은 나를 위해 잘 작동하는 것 같습니다 (그리고 몇 시간 이상 실행되는 몇 가지 작업이 있습니다)하지만이게 나쁘다는 것을 계속 읽지 만 왜 그런지 궁금합니다. 당신에게이 일을하지 않을 것이라는 어떤 문제가 있습니까?ASP.NET 별도의 스레드가없는 긴 작업
0
A
답변
1
긴 프로세스를 수행하는 페이지에서 사용자가 실수로 또는 무의식적으로 탐색했다고 가정합니다. 이것은 잠재적으로 중단을 야기 할 수 있으며 사용자에게 공포를 유발하여 잠재적으로 다른 긴 프로세스를 다시 시작하여 다시 제출할 수 있습니다.
온라인으로 은행 계좌를 방문해야하며 시간이 오래 걸릴 수있는 재무 보고서를 생성하려고한다고 가정합니다. 그런 다음 페이지를 열어 두어야하고 책상 등에서 멀리 나갈 수 있습니다. 프로세스가 실행되는 동안 누군가가 책상에 앉아 편안하게 의자에 앉아 뒤로 버튼을 누르면 계정에 백만 달러가 있음을 알게되었습니다. "조니, 오늘 우리 모두를 위해 점심을 사는 것 같아!"
이러한 상황을 처리하는 표준 방법은 특히 상황에 따라 Windows 서비스에서 처리를 처리하고 페이지에서 데이터베이스, 이벤트 로그 또는 프로세스를 통해 프로세스의 현재 상태를 주기적으로 요청할 수 있습니다. 다른 어떤 수단. 일반적으로 사용자가 실행하는 데 5 분이 소요될 수있는 인보이스 발행 프로세스를 시작할 때 일반적으로 취하는 접근 방식입니다. 사용자는 페이지를 다시 방문하여 준비 상태인지 또는 서비스가 선택적으로 전자 메일을 시작하여 텍스트를 보내어 작업 상태를 사용자에게 알릴 수 있는지 확인할 수 있습니다.
관련 문제
- 1. UI 스레드가없는 작업 동기화
- 2. 스레드가없는 경쟁 조건?
- 3. 스레드가없는 프로그램을 멈추기
- 4. 스레드가없는 명령 대기
- 5. Javascript의 긴 작업
- 6. 긴 문자열 작업
- 7. 긴 비트 목록 작업
- 8. 긴 작업 취소
- 9. NSTimer 및 긴 작업
- 10. 새 스레드가없는 큰 쿼리 열기
- 11. 동기식으로 긴 비동기 작업 구현
- 12. 관리자의 긴 스크립트, Symfony의 작업?
- 13. UI 동결없이 긴 작업 실행
- 14. 포스는 버튼이있을 때 긴 작업
- 15. appdomain 사이에 별도의 작업 디렉토리
- 16. 별도의 스레드에서 신발과 무거운 작업
- 17. 별도의 어셈블리에서 Quartz.NET 작업 실행
- 18. TaskCompletionSource - 스레드가없는 비동기 작업을 이해하려고 시도합니다.
- 19. ASP.NET/디버그의 백그라운드 작업
- 20. ASP.NET 수명주기 및 긴 프로세스
- 21. 내가 Asp.Net-MVC를 사용하고 긴
- 22. ASP.NET 페이지에서 긴 작업을 실행하는 방법은 무엇입니까?
- 23. asp.net mvc 별도의 어셈블리에서 뷰로드
- 24. ASP.NET 액세스가 별도의 스레드에서 거부되었습니다.
- 25. 별도의 스레드에서 ASP.NET 캐시 액세스?
- 26. asp.net mvc는 여전히 별도의 다운로드입니까?
- 27. ASP.NET DataGrid - 별도의 행에 DropDownLists?
- 28. 스레드가없는 작업을 위해 "기다려주십시오"대화 상자 표시
- 29. 매우 긴 실행 작업 프로파일 링
- 30. 긴 작업 전에 커서를 어떻게 변경합니까?
은 의미가 있지만 스케쥴러에서 실행되는 모든 관리 작업입니다 – user204588
이것은 자동화 되었습니까? 그렇다면 웹 페이지에 추가 혜택이 없습니다. 그래도 작업이 완료되면 세션 시간 초과가 올바르게 구성되었는지 확인하십시오. 공통 라이브러리가 아닌 페이지에 모든 논리를 코딩하고 웹 페이지 유지를 정당화하는 경우 조직에서 적절하게 제어하는 한 웹 페이지를 유지하십시오. – Jeremy