여기에 여러 가지 것들이 있습니다.
- 시간의 웹 브라우저는 웹 서버가 SQL 명령이 밖으로 클라이언트 시간 전에 실행됩니다 요청
- 시간을 처리 할 응답을
- 시간을 기다립니다.
- 시간 SQL Server는 명령을 종료하기 전에 명령을 실행합니다. connection timeout in IE 참조가 : 파이어 폭스에서 당신에 대한 확인 할 수 있어야한다 : 설정
웹 서버와 ASP를 들어
는 일반적으로 웹 브라우저 하나 (정확한 숫자의 확실하지 않은) 2 분 참조입니다. net 참조 HttpRuntimeSection.ExecutionTimeout Property
명령 시간 초과 참조 Sqlcommand.CommandTimeout 참조 기본값은 30 초입니다.
말하자면 ... 클라이언트가 대기를 멈추었 기 때문에 SQL Server가 명령 실행을 강제하지 않습니다. 연결에서 close를 호출하면 서버에서 실행중인 명령이 중지되지만 변경 사항이 롤백 될 때까지 기다려야 할 수도 있습니다.
SQL Server 에이전트 작업을 사용하고 있지 않다고 생각하지만 연결을 끊어도 작업이 중단되지는 않습니다. 이 경우 당신은 당신이 무엇을 할 수 있는지 다음 출력을 보낼 수 있도록
단지 클라이언트가
Response.Write("<!-- progress ... -->");
Response.Flush();
처럼 ... 클라이언트에 약간의 출력을 보낼 수있다 기다리지 않고하기 때문에 그 플러시해야 서버 측에서 응답을 버퍼링하지 않습니다.
고마워요. 실제 상황을 구체적으로 설명해 드리겠습니다. 서버 측 C# 코드에서 예를 들어 400 개의 객체를 원격 API 호출로 보내는 순환이있었습니다. 페이지에 연결 시간 초과가 표시되지만 서버 코드가 계속 실행 중입니다. SQL 문제를 제외 시키자. –