2010-05-12 3 views

답변

8

Response.Flush 메서드는 페이지의 나머지 부분보다 먼저 콘텐츠의 일부를 비 웁니다. 효과 응답 버퍼링을 해제하려면 aspx 태그를 사용하는 대신 Response.Write을 사용하여 직접 페이지 내용을 출력해야합니다.

+0

이 질문은 내 질문에 대한 답처럼 들립니다. 작은 명료화가 필요합니다. 내가 Response.End()를 말할 때; Response.Write()를 호출하여 작성한 응답을 자동으로 플러시하거나 Response.Flush()를 Response.End() 전에 호출해야합니까? – IsmailS

+3

@Ismail : 버퍼링이 켜져있을 때'Flush'가 자동으로 호출된다고 만되어 있습니다. 버퍼링이 꺼져있을 때 이런 일이 발생하는지는 알려주지 않습니다. 따라서 버퍼링이 켜져있을 때는 필요하지 않지만 버퍼링이 꺼져있는 경우 필요할 수 있습니다. 'Response.End'를 호출하지 않고 페이지주기를 정상적으로 종료하게하면 내용은 항상 자동으로 플러시됩니다. – Guffa

+0

@ Guffa, 내 질문에 대답 할 수 있습니까? http://stackoverflow.com/questions/23709604/response-write-and-asp-net-controls. 내 질문 +1에 대한 대답이라고 생각합니다. – w0051977

4

대부분의 경우 Respond.End를 호출 할 필요가 없습니다. 그렇게한다면, 당신은 당신의 사건에 대해 알아야하며, 왜 당신은 응답이라고 부릅니다. 매우 구체적인 경우입니다.

또한, MSDN은 그것을 삭제 : Response.Buffer가 TRUE로 설정하면

, 호출으로 Response.End가 버퍼를 플러시합니다. 출력을 사용자에게 반환하지 않으려면 먼저 Response.Clear를 호출해야합니다.

+1

내가하고있다 Response.Clear(); Response.Write ("출력 할 출력"); Response.Flush(); Response.End(); 맞습니까? 또는 나는 response.Flush()를 호출하면 안됩니다. – IsmailS

+3

아니요,이 경우 End() 전에 Flush()를 호출하면 안됩니다. Flush()는 End() 내부에서 자동으로 호출합니다. –

관련 문제