正如 其他地方所建议的那样,我在我的自定义错误配置中使用了 redirectMode = ResponseRewrite,因此我的自定义错误页面可以访问异常信息。一段时间以来,这就像一种魅力。
在添加更多“帮助用户从错误中恢复”类型的功能时,我们需要一条之前存储在 Session 中的信息。在实现这一点时,我发现当redirectMode=ResponseRewrite 时,Session 的各种途径都以null 结束,但是当redirectMode=ResponseRedirect(或未定义)时它们都被填充。
有谁知道为什么?我们不得不在异常信息(ResponseRewrite)或会话(ResponseRedirect)之间做出选择,这似乎很奇怪。
关于富自定义错误处理的MSDN 文章告诉我,只有当控制传递方法是 Server.Transfer 时,Session 才可用,我假设 ResponseRewrite 在后台使用。显然情况并非如此。