시나리오 :ASP.NET에서 브라우저 시간 제한을 방지하는 방법은 무엇입니까?
사용자가 1000 단위 작업으로 ASP.NET 4.0 응용 프로그램에 작은 파일 또는 약 100KB를 업로드합니다. 그런 다음 서버는 작업 단위 (UOW)에서 한 번에 하나씩 작업하게됩니다. 외부 서비스에서 정보를 요청하기 때문에 각 장치를 완료하는 데 몇 초가 걸립니다. 트랜잭션을 사용하여 모든 단위가 성공적으로 완료된 경우에만 결과가 데이터베이스에 저장됩니다. 완료되면 사용자는 수행 된 작업의 목록을 가져올 수 있습니다.
문제는 사용자가 확인을 얻지 못하는 대신 브라우저가 시간 초과로 인해 포기한 것입니다.
향후 파일은 100 배 정도 더 커져서 문제가 증가 할 것으로 예상됩니다.
이 시간 초과를 방지하고 싶습니다.
여기에 내가 가진 몇 가지 아이디어입니다 :
- 최적화 코드가 빠르게 실행합니다. 이것은 완료되었으며 더 이상 문제가되지 않습니다.
- 외부 서비스에 대한 요청을 병렬로 실행하십시오.
- 서버 시간 초과를 약간 늘리십시오.
- 사용자가 파일을 업로드하도록 한 다음 파일 처리가 끝난 결과가 포함 된 이메일을 보내도록합니다.
- 대기 중 (예 : 5 % 완료 - 10 분 내에 완료) 진행 정보를 사용자에게 보여줍니다.
진행률 정보를 표시하고 브라우저 시간 초과를 방지하려면 어떻게해야합니까?
기타 제안을 환영합니다.
감사합니다.
나는 비슷한 질문을 며칠 전에 보냈다 : http://stackoverflow.com/questions/5871646/add-a-realtime-progress-update-to-a-slow-page-in-asp-net/5871947 # comment-6770037 –