Ответ 1
Следующий пример отлично работает и возвращает строку с "https":
var uri = new Uri("https://www.google.com/?q=102njgn24gk24ng2k");
var authority = uri.GetLeftPart(UriPartial.Authority);
// authority => "https://www.google.com"
У вас либо есть проблема с классом HttpContext
прямо здесь, либо все ваши запросы по-прежнему используют http:
- Вы можете проверить свойства запросов
HttpContext.Current.Request.IsSecureConnection
. Если это правда, и методGetLeftPart
по-прежнему возвращает вам http, я думаю, вы не найдете здесь замену. - Если все ваши запросы действительно идут с http, вы можете обеспечить безопасное соединение в IIS.
Вы также должны проверить входящий URL-адрес и зарегистрировать его где-нибудь в целях отладки.