在自定义HttpModule中使用POST方法进行Response.Redirect

时间:2019-07-08 20:27:49

标签: c# asp.net asp.net-mvc-4 asp.net-web-api

我有一个带有web.api的asp.net网站(“ / v”),必须基于请求中的cookie将其重定向到另一个网站(“ / v2”)。

因此,如果有cookie,则请求必须重定向到“ / v2 / api ...”,否则就没有cookie,请求必须继续到“ /v/api/...”

因此,我实现了自定义HttpModule来完成重定向请求的任务,但是即使请求是POST方法,重定向也始终使用GET。

如何使用正确的方法重定向请求?

下面的示例代码。

预先感谢

<div class="hero_container">
                    <img src="<?php echo( get_header_image() ); ?>" alt="<?php echo( alt_text_display() ); ?>"  class="hero">
                </div>

1 个答案:

答案 0 :(得分:0)

在您的评论中,您声明“要解决我的问题,我决定使用NGINX创建反向代理”。

作为替代方案,更内联您的原始问题...

您可以使用HTTP 307 Temporary Redirect,其中方法(在这种情况下为POST)和原始请求的正文被重用于执行重定向的请求。

app.Context.Response.StatusCode = 307;
app.Context.Response.RedirectLocation = newUrl;
app.Context.Response.End();