2009-03-31 2 views
3

HTTP 모듈을 사용할 때 파이프 라인의 마지막 두 이벤트 (PreSendRequestHeaders 및 PreSendRequestContent)가 항상 실행되는 것은 아닙니다.PreSendRequestHeaders 및 PreSendRequestContent가 일관되게 실행되지 않는 이유는 무엇입니까?

EndRequest에 바인딩 된 코드가 실행되지만 PreSendRequestHeaders 또는 PreSendRequestContent에 바인딩 될 때 확인되지 않습니다.

왜 그런 이유가 있을까요? 아마도 캐싱 문제라고 생각했습니다 (304 수정 안 함, 실제로 콘텐츠를 보내지 않음 ...). 그러나 캐시를 지우고 서버가 200 OK를 반환했음을 확인했습니다. 이는 콘텐츠를 전송했음을 나타냅니다. .

응답의 StatusCode가 기본값 200으로되어 있고 두 가지 최종 방법까지 404 또는 206과 같은 것으로 업데이트되지 않기 때문에 문제가됩니다. 내가 EndRequest 이벤트 중 상태 코드를 체크하면 ... 항상 내가의 이벤트 PreSendRequestHeaders에 쿠키 헤더를 주입하고있어 200

답변

0

을 읽고는 발사하지 않는 문제로 실행하는 데 아직 것

0

아마 그것은 HttpResponse.BufferOutput과 관련이 있습니다. 버퍼링이 해제되어 있으면 모든 헤더처럼 보이고 일부 이벤트는 이미 이러한 이벤트가 발생할 때까지 전송되었을 것입니다.

1

은 IIS 7 통합 파이프 라인과 관련이 있습니까?

확인해야하지만 IIS7이 통합 파이프 라인에서 실행될 때만 이벤트가 발생한다고 생각합니다.

+0

당신이 맞다고 생각하지만이 같은 문제가 있습니다. IIS가 통합 파이프 라인 모드에서 실행 중일 때도 실행되지 않습니다. – daustin

관련 문제