我有点困惑,但我在本地T4MVC
上使用IIS Express
呈现的网址在网址中包含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。 }
答案 0 :(得分:0)
最近有一些更改会自动使用https,但只有在您使用[RequireHttps]属性时才会发生这种情况。你知道你是否正在使用它吗?
有关详细信息,请参阅change log。这是在2.8.0 / 2.8.1中添加的。
在t4mvc.tt中搜索“ActionUrlHttps”以查看相关代码。