2010-05-19 11 views
2

나는 웹 사이트를 디버깅하려고 HTTP 헤더를 보낸 후에 서버에서 헤더를 추가 할 수 없습니까?

Exception information: 
    Exception type: HttpException 
    Exception message: Server cannot append header after HTTP headers have been sent. 
    at System.Web.Hosting.ISAPIWorkerRequest.SendUnknownResponseHeader(String name, String value) 
    at System.Web.HttpResponse.WriteHeaders() 
    at System.Web.HttpResponse.Flush(Boolean finalFlush) 
    at System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e) 

IIS 7

에서 실행되는 Asp.Net 웹 사이트의 이벤트 로그에 다음과 같은 경고를 얻고 있지만, 그것은 단지 디버거에 표시되지 않습니다. 이 문제를 가지고있는 웹 페이지는 다음을 포함합니다.

  1. 마스터 페이지가있는 콘텐츠 페이지입니다.
  2. Timer에 의해 트리거되는 UpdatePanel 안에 그리드가 있습니다.
  3. 지정된 시간에 그리드 데이터가 새로 고쳐집니다.

이렇게 될 때마다 EventLog에 새로운 경고가 표시됩니다. 이 문제에 대해 가장 좋은 방법은 무엇입니까?

답변

3

오작동 중입니다. 응답 스트림에 내용이 쓰여지기 전에 헤더를 추가 할 수 있습니다. 헤더를 추가하면 그 시점 이후에 헤더가 추가됩니다.

예외가 발생하므로 디버그> 예외> 공용 언어 런타임 Exeptions을 시도하고 'throw'를 선택해야합니다. 이제 Exeption을 중단하고 내부 예외를 검사하거나 호출 스택을 추적하여 누가 나쁜지 파악할 수 있습니다.

+0

나는 그렇게했지만 깨지지 않는다. 이벤트 로그에서만 오류를 표시합니다. – Amitabh

+0

@Amitabh - ok, 도구> 옵션> 디버깅> '.net 소스 스테핑 사용'을 선택하면 중단 될 수 있습니다. –

관련 문제