2011-10-23 3 views
1

나는 플러시를 호출하지만 페이지는 5 초 (의도적으로) 정지 한 다음 완전히 렌더링됩니다. 왜 나에게 첫 번째 부분을 보여준 후 마지막 부분을 보여주지 않는 이유는 무엇입니까?asp.net의 flush가 workig가 아닌 것처럼 보이는 이유는 무엇입니까?

파이어 폭스 (7)와 크롬 모두이

코드 파일을

using System; 

namespace ABC 
{ 
    public class Test 
    { 
     static public void Apple() 
     { 
      System.Web.HttpContext.Current.Response.Flush(); 
      System.Threading.Thread.Sleep(5000); 
     } 
    } 
} 

페이지

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
hi 
    <form id="form1" runat="server"> 
    <div> 
    starting 
    <% ABC.Test.Apple(); %> 
    <% WebApplication1._Default.RecurseMe(Response, @"/var/www/wordpress", 0); %> 

    </div> 
    </form> 
</body> 
</html> 
+0

예를 들어 트래픽을 모니터링 했습니까? Ethereal 또는 Microsoft 네트워크 모니터 또는 Google 크롬 통합 도구를 사용하고 있습니까? 어쩌면 서버가 즉시 보내지 만 브라우저 측에서 뭔가 표시되기까지 방해가됩니까? –

+1

@UweKeim : 아마도,하지만 크롬 도구는 어떤 작업을 수행합니까? 난 그냥 빨리 확인하고 아무것도 보이지 않았다 –

+0

나는 네트워크 도구/탭을 보내고 서버에서받은 것을 보여주는 줄 알았는데?!? –

답변

2

I하지가 HTML을로드가 완료되기 전에 웹 브라우저가 페이지를 표시합니다 생각 . 이 방법으로 생각해보십시오. 페이지가 올바르게 렌더링되고 태그가되기 전에 닫아야하는 태그가 있습니다.

왜 이렇게해야하는지 잘 모르겠지만,로드하는 동안 일부 데이터를 숨기려면 숨겨진 div에 해당 영역을 숨기고 시간 간격이나 다른 방법을 사용하여 javascript로 표시해야합니다. AJAX 콜백과 같은

+0

글쎄, 만약 내가 어떤 종류의 테스트를하기 전에 잠깐 쓰레드를 멈추고 플러시를하고 있다면 잠시 멈추는 것을보고 싶습니다.) –

관련 문제