Подтвердить что ты не робот

Как установить протокол при использовании RedirectToAction?

Для цели действия я требуется https. У меня уже есть фильтр на месте, который перенаправляется на https, если запрос приходит через http, но я бы предпочел отправить запрос через https с самого начала.

ИЗМЕНИТЬ

Был получен ответ от Дарина (теперь он обновлен до чего-то еще), где он спросил, почему я все-таки называю это первым действием http. У него был хороший момент, и я только что обновил пару ссылок. Это был самый простой и безопасный способ исправить мою проблему.

Как только я нахожу время для оценки ответа çağdaş, я буду использовать это как правильный ответ, потому что я предполагаю, что это интересно для некоторых других людей (... включая меня в будущем)

4b9b3361

Ответ 1

Я не знаю, следует ли использовать RedirectToAction, но с помощью метода UrlHelper и контроллера Redirect вы можете сделать это:

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

Ответ 2

ASP.NET MVC 3 включает RequireHttpsAttribute, который может быть полезен.

Ответ 3

Вы можете взглянуть на эту статью, которая иллюстрирует, как включить HTTPS на уровне маршрутизации.