2010-07-29 5 views
0

비동기 WebService 장기 실행 메서드를 호출하는 서버 측 메서드 (jQuery의 $ .ajax에 의해)를 호출합니다. 문제는 장기 실행 방법이 완전하지는 않지만 진행 막대에 대해 해당 방법의 진행 상황을 확인할 수 없다는 것입니다. 메소드가 완료 될 때까지 서버가 대기하는 이유는 무엇입니까?ASP.NET 비동기 웹 서비스? 정말 비동기식입니까?

[해석]!

ThreadPool.QueueUserWorkItem(state => service.MyMethod()); 

그 코드 내 웹 서버가 완전한 방법에 대한 진행 표시 줄이 업데이트되는 대기하지 않습니다 수 있습니다. 모든 풀 스레드 안전하고해야하기 때문에 단 1 개 개의 코드 라인은 .....

+0

대기중인 서버, 사이트의 웹 서버 또는 "비동기식"방법을 호스팅하는 웹 서비스는 무엇입니까? – SargeATM

+0

웹 사이트 서버 – Tony

+0

이것은 대답이 아니라 질문에 대한 질문이며, 그 이유 때문에 의견이 존재한다고 생각합니다. – Aristos

답변

1

이 솔루션은 "웹 Gardern"또는 "웹 풀"을 추가하는 것입니다이 is almost the same answer - to a different question.

은 더 작업 풀과 스레드를 의미 다음 한 번 통화 할 때까지 기다리십시오.

+0

그렇다면 작업이 완료 될 때까지 현재 진행 상황을 확인할 수있는 가능성이 있습니까? – Tony

+0

@Tony 요청 내에서 새 스레드를 사용하여 작업의 현재 진행률을 얻을 수 있습니다. 기본적으로 동일한 스레드에서 요청을했지만 작업을 수행하기 위해 새 스레드를 만들 수 있습니다. 간단합니다. 동기화 및 일부 테스트가 필요하지만 수행 할 수 있습니다. 이제는 찾았습니다. 좋은 방법, 나는 간단한 스레드, 좋은 아이디어를 사용 ... – Aristos