ASP.NET MVC 添加标头并重定向到外部 url

问题描述 投票:0回答:1

我需要编写一个小型 ASP.NET MVC 网站,其唯一目的是捕获从旧网站发送的标头,将这些标头添加到请求中并重定向到 Blazor 服务器应用程序(包括标头)。

如何向请求添加标头并在控制器操作中重定向到外部 URL?

我尝试过

HttpClient
WebClient
HttpWebRequest
,但都不支持重定向。

我也尝试过:

Response.Headers.Add("Test", "Test redirect");
Response.Redirect("https://mywebsite.com/", true);

重定向有效,但未添加标头。

c# asp.net-mvc-5 blazor blazor-server-side
1个回答
0
投票

你不能这样做,因为 302 重定向是由浏览器处理的,它不会重新附加标头,请参阅此answer

因此,您可以尝试创建一个新响应,您需要手动管理所有响应详细信息,包括状态代码、重定向 URL 和所有自定义标头。

示例:

Response.StatusCode = 302;

Response.Headers.Add("Location", "https://mywebsite.com/");

Response.Headers.Add("Test", "Test redirect");
Response.Headers.Add("AnotherHeader", "AnotherValue");
Response.Headers.Add("Cache-Control", "no-cache");
Response.Headers.Add("Expires", "-1");
© www.soinside.com 2019 - 2024. All rights reserved.