В ASP.NET, какой самый быстрый способ получить базовый URl для запроса?

Есть ли быстрый способ получить схему, хост, порт (только если не 80) и путь приложения в ASP.NET?

Насколько я знаю, мне нужно собрать следующие фрагменты:

  • Request.Url.Scheme
  • Request.Url.SchemeDelimiter
  • Request.Url.Authority(хотя это, вероятно, всегда будет включать порт, даже если он 80)
  • Request.ApplicationPath

Нет ли для этого простого свойства?

Ответ 1

Это должно работать:

Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath

Обратите внимание, что это может закончиться или не заканчиваться конечным "/" в зависимости от того, размещено ваше приложение в корне сайта или в подкаталоге.