0

我有点困惑,但我T4MVC在本地渲染IIS Express的 URL 在 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。}

4

1 回答 1

0

最近有一些自动使用 https 的更改,但只有在您使用 [RequireHttps] 属性时才会发生这种情况。你知道你是否正在使用它吗?

有关详细信息,请参阅更改日志。这是在 2.8.0/2.8.1 中添加的。

在 t4mvc.tt 中搜索“ActionUrlHttps”可以看到相关代码。

于 2012-06-28T21:39:33.700 回答