响应.重定向未等待重定向完成



>我有一个小的重定向代码,它将当前请求重定向到 jsp 页面,并且必须等到 jsp 页面执行,然后恢复执行主线程,这是为用户加载祝贺页面。

我的代码如下所示:

private void PostToCallBackPage(String url, String postdata)
{
try
{
log.Debug(url + "?" + postdata);
Response.Redirect(url + "?" + postdata);   
}
catch (Exception ex)
{
log.Error("PostToCallBackPage error: " + ex.Message);
}
log.Debug("end of PostToCallBackPage");
Response.Redirect(ConfigurationSettings.AppSettings["CongratulationPage"] + QueryString);
}

但是,我没有看到重定向到祝贺发生。我在日志中看到客户端中止异常。我可以在查看代码中做错了什么时获得帮助吗?

它将当前请求重定向到 JSP 页面,并且必须等到 JSP 页面执行

不,这不会发生。从服务器的角度来看,重定向是请求的结束- 它涉及为当前请求发送 301/302/307/any 响应以及新的 url -仅此而已。服务器不能等待 - 这个概念实际上不存在。Http(至少 1.*(是一种请求-响应协议;客户端发出一个请求 - 服务器发送一个响应。一旦服务器端代码发出它想要重定向的信号,那么从服务器的角度来看:就是这样- 没有什么可做的了。

最新更新