当我像这样重定向时
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
为什么存在差异?
答案 0 :(得分:3)
首先,RedirectResult
是一个类,而HttpResponse.Redirect
是一个方法。前者将用户重定向到指定的URI,后者会将您重定向到给定的URL。要查看网址和URI see here之间的差异。
希望有所帮助