我有点困惑,但是我用本地T4MVC
上的IIS Express
呈现的URL包含HTTPS。在我们的登台服务器上,正在渲染的URL包含HTTP,但是是否使用了如下所示的相同代码?有人知道为什么吗?
<a href="#" data-bind="attr: { href: '@Url.GetSearchResultsUrl(MVC.ManageArea.DistrictAdmins.DistrictAdmin())&id=' + Id }">View</a>
public static string GetSearchResultsUrl(this UrlHelper urlHelper, ActionResult actionResult)
{
return urlHelper.ActionAbsolute(actionResult.AddRouteValue(Config.ViewData.SearchResults, true));
}
public static string ActionAbsolute(this UrlHelper urlHelper, ActionResult result) {
return string.Format("{0}{1}",urlHelper.RequestContext.HttpContext.Request.Url.GetLeftPart(UriPartial.Authority),
urlHelper.RouteUrl(result.GetRouteValueDictionary()));
更新
我刚刚发现F5负载平衡器正在使用302重定向功能将http重定向到https。
}
最佳答案
最近有一些自动使用https的更改,但是只有在使用[RequireHttps]属性时,才应该发生。你知道你在用吗?
有关详细信息,请参见change log。这是在2.8.0 / 2.8.1中添加的。
在t4mvc.tt中搜索“ ActionUrlHttps”以查看相关代码。