0

사용자 지정 다시 쓰기 모듈이 있고 특정 쿼리 문자열 매개 변수가 전달되면 adserve 소프트웨어 및 추적으로 인해 server.transfer는 호출 할 수 있고 response.redirect는 호출 할 수 없게됩니다.Application Lifecycle 이벤트가 Server.Transfer 일 때 실행되지 않음

RewriteModule의 초기화 이벤트에

내가 이벤트 등록 :

을 BeginRequest Response.Redirect를 실제로 호출되는 ReleaseRequestState 이벤트 및 재 작성 모듈이라고 PreRequestHandlerExecute ReleaseRequestState

은 COMPL입니다 ETE 및 새로운 제어 URL의는 Server.Transfer를 다음 호출되는 ReleaseRequestState 이벤트가 호출되지 않고 친화적 인 URL의 난 내가 Response.Redirect를 및 서버 사이의 다양한에게 이해 생각

를 설정되지 않은

을 설정 .Transfer하지만 이벤트가 실제로 호출되지 않는 이유는 무엇입니까? Session.End 또는 Session.Abandon 이벤트가 호출되고이 이벤트가 실행되지 않습니다. 또는 여기에 내가 그 둘 사이의 미묘한 차이를 같은데요

감사

답변

0

일어나고 완전히 다른 무언가이다.

Response.Redirect는 클라이언트 쪽 리디렉션을 수행합니다. 즉, 클라이언트 브라우저에 다른 URL을 요청하여 새로운 요청을 제공한다는 메시지가 전송됩니다.

Server.Transfer가 새 요청 (http://msdn.microsoft.com/en-us/library/y4k58xk7.aspx)을 만들지 않습니다. 현재 페이지에서 작업을 멈추고 다른 페이지에서 작업을 시작합니다. 새 요청이 없습니다.

+0

안녕하세요. 다시 연락해 주셔서 고맙습니다. 새로운 요청이 없으면 요청을 죽이는 것보다 PostReleaseState 이벤트를 계속해서 호출하겠습니까? – stack72

+0

그래야합니다. 상태가 획득되었는지 여부를 알기 위해 파이프 라인 내부에서 진행되는 마법이없는 한. 획득 한 상태가 .css 요청과 같지 않은 경우 프레임 워크가 ReleaseRequestState를 호출하지 않을 수 있습니다. 그냥 추측 하건데 - 사실을 모르겠습니다. – PatrickSteele

관련 문제