Response.Redirect로 System.Threading.ThreadAbortException 방지
페이지 리디렉션에 Response.Redirect(...)
을 사용하면 때때로 System.Threading.ThreadAbortException
이 실행될 수 있습니다. 이는 리디렉션 후 웹 서버가 갑자기 페이지 처리를 중지하기 때문에 발생합니다.
endResponse
의 Response.Redirect
매개변수는 현재 페이지의 실행이 끝나는 방식을 제어합니다. endResponse
을 true
(기본값)으로 설정하면 페이지가 즉시 종료되므로 데이터 손실 및 비효율적인 처리가 발생할 수 있습니다. false
으로 설정하면 예외가 발생하지 않지만 페이지가 불필요하게 계속 실행됩니다.
가장 좋은 해결책은 Response.Redirect(url, false)
다음에 Context.ApplicationInstance.CompleteRequest()
을 사용하는 것입니다. 그러면 IIS 파이프라인이 EndRequest
단계로 즉시 이동하여 현재 페이지의 실행이 완전히 중지됩니다.
Application_Error
핸들러 내의 리디렉션 처리를 포함한 더 깊은 이해와 추가 조언을 보려면 이 주제에 대한 Thomas Marquardt의 통찰력 있는 블로그 게시물을 참조하세요.
위 내용은 Response.Redirect()에서 System.Threading.ThreadAbortException을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!