2012-06-28 4 views
0

Немного смутно, но мои URL-адреса, отображаемые с T4MVC, на моем местном содержат HTTPS в URL-адресе. На нашем промежуточном сервере отображаемый URL-адрес содержит HTTP, но использует тот же код, что и ниже? Кто-нибудь знает, почему?T4MVC и HTTPS не отображаются в URL-адресе

<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())); 

UPDATE

Я только что узнал, балансировщик F5 нагрузки делает перенаправление с HTTP на HTTPS с помощью 302 редиректа. }

ответ

0

Были внесены последние изменения в автоматическое использование https, но это должно произойти только в том случае, если вы используете атрибуты [RequireHttps]. Вы знаете, используете ли вы это?

Подробнее см. На change log. Это было добавлено в 2.8.0/2.8.1.

Искать «ActionUrlHttps» в t4mvc.tt, чтобы увидеть соответствующий код.

+0

Только что обновил свой ответ выше. –

+0

urlHelper.RequestContext.HttpContext.Request.Url.GetLeftPart (UriPartial.Authority) по какой-то причине захватывает http, а не https на защищенной странице. –

+0

Хорошо, похоже, это не связано с T4MVC, верно? –

 Смежные вопросы

  • Нет связанных вопросов^_^