Por que é HttpContext.Session null quando redirectMode = ResponseRewrite

Como é sugeridoem outro lugarEstou usando redirectMode = ResponseRewrite na minha configuração de erro personalizada para que minha página de erro personalizada possa acessar as informações de exceção. Isso funcionou como um charme por algum tempo.

Ao adicionar mais alguma funcionalidade do tipo "ajudar o usuário a se recuperar de um erro", precisamos de uma informação previamente armazenada na Sessão. Ao implementar isso, descobri que os vários caminhos para Session terminam em null quando redirectMode = ResponseRewrite, mas todos são preenchidos quando redirectMode = ResponseRedirect (ou não está definido).

Alguém sabe por quê? Parece estranho que tenhamos que escolher entre ter informações de exceção (ResponseRewrite) ou ter Session (ResponseRedirect).

oArtigo do MSDN Na manipulação Rich Custom Error me diz que a Session só está disponível quando o método de passagem de controle é Server.Transfer, que é o que eu assumi ResponseRewrite usado sob o capô. Evidentemente, esse não é o caso.

questionAnswers(1)

yourAnswerToTheQuestion