2010-01-19 5 views
1

MP3 콘텐츠를 제공하는 ASP.NET 응용 프로그램이 있지만 콘텐츠가 요청 중에 생성되어 몇 분 안에 응답의 첫 번째 바이트를 지연시킬 수 있습니다.ASP.NET GET 요청 제한 시간을 방지 하시겠습니까?

클라이언트가 podcatcher (어떤 클라이언트인지 알 수 없음)이며 본 시간 중 가장 낮은 시간은 20 초입니다. 다시 말하면 응답이 없다고 가정 할 때,이 클라이언트는 비교적 빨리 포기합니다 (합리적으로 충분히).

어떻게 이러한 고객이 포기하지 않도록 할 수 있습니까? 응답이 올 것이라고 알려주려면 어떻게해야합니까?

+0

"실제"콘텐츠가 생성되는 동안 사료 MP3 콘텐츠를 제공하는 것을 고려했습니다. "이 MP3는 너에게 가져왔다." 나는 "진짜"내용이 준비 될 때까지 그것을 천천히 복무 할 것인가? 생각? 나는 그런 상황에서 두 MP3를 합병하는 것에 대해 제일 먼저 알지 못한다. – lance

답변

3

바이너리 형식으로 콘텐츠를 제공하는 경우 바이너리 콘텐츠를 구성하기 전에 헤더를 포맷하고 바로 푸시 할 수 있어야합니다. 처리기를 사용하는 경우 많은 IIS 오버 헤드를 피하면서 프로세스 속도를 높일 수 있으며 동시에 Content-Header를 시작 (완료되지 않았지만 시작됨)하고 Response.Flush() 메서드를 사용할 수 있습니다. 그들을 빼내.

+0

헤더를 보내는 것이 제한 시간 위험을 완화한다는 것은 결코 내게 발생하지 않았습니다. 그렇게 합리적인 것처럼 보입니다. 이제 더 많은 독서를 할 수 있습니다 ... – lance

+0

수신 플랫폼에 따라 (나는 결코 포드 캐처를 다룰 수 없었습니다), 대상 클라이언트를 "관심있게"유지하기 위해 바이너리 데이터를 증분으로 계속 플러싱해야 할 수도 있습니다. –

+0

테스트 결과 헤더를 보내더라도 시간 초과가 방지되지는 않습니다. 당신이 말했듯이, 그것은 "수신 플랫폼에 따라 달라질 수 있습니다." – lance