我有点困惑,但是我用本地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”以查看相关代码。

08-05 01:24