Почему есть разница между Response.Redirect и новым RedirectResult ()? - PullRequest
6 голосов
/ 11 августа 2011

Когда я перенаправляю вот так

 protected override void OnActionExecuting(ActionExecutingContext filterContext)
 {
      filterContext.Result = new RedirectResult("https://mydom.com");
 }

, поэтому браузер перенаправляет на http://mydom.com/httpS://mydom.com

но если я перенаправлю таким образом

 protected override void OnActionExecuting(ActionExecutingContext filterContext)
 {
      var res = filterContext.HttpContext.Response;
      filterContext.Result = res.Redirect("https://mydom.com");
 }

, поэтому браузер правильно перенаправляет на https://mydom.com

Почему есть разница?

1 Ответ

3 голосов
/ 11 августа 2011

Прежде всего, RedirectResult - это класс, тогда как HttpResponse.Redirect - это метод. В то время как первый перенаправляет пользователя на указанный URI, второй перенаправляет вас на указанный URL. Чтобы увидеть различия между URL и URI , см. Здесь .

Надеюсь, что поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...