C# 执行HTTP 307重定向
出于技术原因,我们需要执行HTTP307重定向,而不是302重定向 对于302,我会:C# 执行HTTP 307重定向,c#,asp.net,redirect,C#,Asp.net,Redirect,出于技术原因,我们需要执行HTTP307重定向,而不是302重定向 对于302,我会: HttpContext.Current.Response.Redirect(url) 对于301,我会: HttpContext.Current.Response.RedirectPermanent(url) 如何实现307?在您希望引起307而不是响应的页面中。重定向使用服务器。传输:- Server.Transfer("targetpage.aspx"); 然后在目标页面的页面加
HttpContext.Current.Response.Redirect(url)
对于301,我会:
HttpContext.Current.Response.RedirectPermanent(url)
如何实现307?在您希望引起307而不是响应的页面中。重定向使用服务器。传输:-
Server.Transfer("targetpage.aspx");
然后在目标页面的页面加载中,添加以下内容(笑脸可选):-
当您在浏览器的调试工具中查看网络跟踪时,这看起来像是源页面返回了307<代码>服务器。传输不会向浏览器发送响应,而是立即将控制权传输到指定页面。通过添加位置标题并手动执行重定向来解决此问题:
HttpContext.Current.Response.StatusCode = 307;
HttpContext.Current.Response.StatusDescription = "Temporary Redirect";
HttpContext.Current.Response.AddHeader("Location", redirectURL);
HttpContext.Current.Response.End();
我想这个可以help@gidanmx2我使用webforms,似乎无法使任何示例正常工作(尝试将状态代码设置为307并添加位置标题)您是否查看了如何手动设置响应的状态代码、设置标题和结束响应?应该很容易找到关于如何做到这一点的文档。
HttpContext.Current.Response.StatusCode = 307;
HttpContext.Current.Response.StatusDescription = "Temporary Redirect";
HttpContext.Current.Response.AddHeader("Location", redirectURL);
HttpContext.Current.Response.End();