2011-08-30 11 views

답변

1

당신은 백그라운드 스레드를 시작할 수 있습니다 사용에 대한 (또는 스레드 풀의 작업)를 처리하고 그 동안 사용자를 리디렉션합니다. 그러나 리디렉션 된 요청이 도착할 때까지 작업이 완료된다는 보장은 없습니다. 당신이 그것을 필요로합니까? 결과를 표시하기 전에 처리를 완료해야하는 작업입니까?

스레드가 그 일을하는 동안 AppDomain가 가비지 수집을 막을 수 있다고 생각하지 않습니다 ... 장기 실행 작업을 별도의 서비스로 분리하려는 경우가 있습니다 해당 서비스에 연결 한 다음 사용자를 리디렉션하십시오. 요청에 대한 ID 개념이 있으면 리디렉션 URL에 매개 변수로 포함시켜 리디렉션 요청이 들어 오면 서비스 처리가 완료되었는지 확인할 수 있습니다.

+0

그럼, 스레드 대신 webservice를 만들고 서비스를 호출하고 사용자를 리디렉션하면 서비스가 여전히 실행됩니까? 실행이 끝나면 사용자에게 응답을 보내지 않아도됩니다. 사용자를 대기시키지 않고 실행해야합니다. – ShadowG

+0

@ShadowG : 웹 서비스 자체가 매우 빠르게 돌아오고 싶지만 작업을 추가하려고합니다. 대기열에, 또는 그와 비슷한 것. –

0

어떻게 XHR Request 또는 .. 후자는 아마 다른 스레드에서 프로세스 실행을 시작하고 클라이언트에 응답을 보낼를 들어, 사용자를 리디렉션 싶어

0

값 비싼 행동의 결과가 사용자가 다음 페이지에서 볼 수있는 것에 영향을 미치는지 여부에 달려 있습니다. 또는 ajax를 사용하여 페이지가로드 된 후 처리 할 수 ​​있습니다.

관련 문제