웹 사이트의 사용자가 보고서를 대기 시키도록 허용하려면 (SQL 테이블에 요청을 입력하십시오). 큐는 SQL 서버에서 큐를 읽고 보고서를 실행하며 레코드의 reportcomplete 필드를 업데이트하는 Windows 응용 프로그램에 의해 처리됩니다. "보고서 생성"과 비슷한 메시지를 게시 한 다음 보고서를 사용할 수있을 때 사용자에게 알릴 수 있어야합니다. 나는 SQLDependency를 가지고 장난 삼아 해본 적이있다. 그러나 나는 브라우저에서 이미로드 된 페이지로 돌아갈 수 없다. 이 작업을 수행하는 방법에 대한 아이디어는 거의 없으며 SQLDependency가 잘못된 길일 수도 있다고 생각합니다. 어떤 아이디어?ASP.NET SQL에서 보고서를 큐에 넣은 다음 사용 가능한 경우 사용자를 업데이트하는 가장 좋은 방법
0
A
답변
0
HTTP가 클라이언트에 다시 연결할 수 없습니다. 유일한 해결책은 클라이언트가 보통 긴 꼬리 (예 : Comet Ajax) 요청을 통해 폴링하는 것입니다. 따라서 원본 페이지 요청이 반환되면 스크립트는 결과 페이지에서 시작하여 ASP.Net 코드를 입력하고 이벤트를 차단하는 백그라운드 요청을 게시합니다. SQLDependency는 이벤트를 알리므로 긴 꼬리 요청이 다시 활성화되어 에이전트에 응답을 반환합니다. 이제 에이전트가 Ajax 호출을 완료하고 페이지를 업데이트 할 수 있습니다. 적어도 이것은 10000 피트 뷰입니다. 이것은 작동하지만 확장되지 않을 것입니다 (주로 Ajax 요청에 의해 묶인 리소스 인 ASP.Net 처리 스레드 차단). 보다 확장 가능한 접근법이 존재하지만 훨씬 더 복잡합니다.
+0
응답 해 주셔서 감사합니다. 나는 해결책을 위해 PokeIn을 조사하고있다. –
일반적인 대기 시간은 얼마나됩니까? – RThomas
일반적으로 대기 시간은 5-10 초이지만 더 높은 쓰레기 수 있습니다. –