Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 执行HTTP 307重定向_C#_Asp.net_Redirect - Fatal编程技术网

C# 执行HTTP 307重定向

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"); 然后在目标页面的页面加

出于技术原因,我们需要执行HTTP307重定向,而不是302重定向

对于302,我会:

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();