2015-01-27 6 views
2

나는 ASP.NET을 사용하여 웹 사이트를 작성했습니다.사용자가 브라우저 창을 닫을 때 스레드가 어떻게됩니까?

내 웹 사이트의 한 페이지에 스레드가 있습니다. 스레드가 실행되는 동안 사용자가 브라우저 창을 닫으면 스레드는 어떻게됩니까? 이 스레드가 실행되지 않습니까?

+0

가짜 장기 실행 스레드 (Thread.Sleep (100000)) 및 몇 개의 로그로 시도 할 수 있습니다. 쓰레드는 실행을 멈추지 않습니다 (HTTP 요청에 비동기이기 때문에). 물론 그것은 ASP.NET 규칙의 영향을받을 것이므로 매우 오랜 시간 동안 실행 가능한 합리적인 작업을위한 좋은 아이디어는 아닙니다. –

+0

"내 웹 사이트의 한 페이지에 스레드가 있습니다."의미 ... 스레드를 만드는 중입니까? 스레드는 완료 될 때까지 실행됩니다. 끝없이 while 루프를 넣으면 영원히 계속됩니다. –

+0

http://stackoverflow.com/questions/4333152/how-to-detect-browser-close-at-server-side-in-asp-net 힌트 : google "asp.net 사용자가 브라우저를 닫을 때 무슨 일이 일어나는가";) – PTwr

답변

5

귀하의 서버는 클라이언트가 실제로 무엇을했는지 모릅니다.

클라이언트가 요청을 시작한 경우 서버는 요청을 처리하고 어떤 경우에도 응답을 반환합니다.

2

나는 당신이 묻는 질문이 당신이 대답하기를 원하는 질문이 아니라고 생각합니다.

"Does asp.net lifecycle continue if I close the browser in the middle of processing?"에 대한 대답은 "예"입니다.입니다. ASPX 페이지 나 MVC 컨트롤러에서 시작하는 것은 클라이언트 브라우저가 닫힌 경우에도 계속 실행됩니다 (질문 인 경우 중복 됨).

그러나 "Can I use threads to carry out long-running jobs on IIS?"에 대한 대답은 입니다. 스레드는 언제든지 종료 될 수 있기 때문에 "할 수 있지만 할 수는 없습니다.", 아마도 원하지 않을 것입니다.

관련 문제