使用RedirectToAction时如何设置协议?

Mat*_*s F 16 asp.net-mvc https

我的目标行动需要https.我已经有一个过滤器,如果请求通过http进入,重定向到https,但我更喜欢从一开始就通过https发送请求.

编辑

Darin得到了一个答案(现在更新到其他地方),他问我为什么称之为http的第一个动作.他在那里有一个很好的观点,我刚刚更新了几个链接.这是解决我的问题最简单,最安全的方法.

一旦我找到时间来评估çağdaş答案,我会用这个作为正确的答案,因为我猜这对其他人感兴趣(...包括我在将来)

Çağ*_*kin 15

我不知道你是否必须使用RedirectToActiona UrlHelper和控制器的Redirect方法你可以这样做:

public ActionResult SomeAction() {
    UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext);
    return Redirect(u.Action("actionName", "controllerName", null, "https"));
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一件非常奇怪的事情,但确实有效.当结账完成时,很多人不得不翻转到一个安全的购物车然后翻回到香草http.我很惊讶没有常规RedirectToAction功能的选项. (2认同)