Извините за вопрос, который уже задавался несколько раз и на других форумах, но я действительно не нашел решения, которое дает то, что мне нужно.
У меня есть сайт ASP.NET MVC.И в одном из контроллеров мне нужно найти корневой URL-адрес сайта (например, http://myhost:7777/MyVirtualDir/). Мне нужно, как есть, а не относительные URL-адреса - только полный абсолютный ROOT URL-адрес сайта. Причина в том, что ябудет использовать этот URL из другого приложения для доступа к сервису, размещенному на сайте. Я перепробовал много разных вариантов и предложенных решений с других форумов, включая:
VirtualPathUtility.ToAbsolute("~") // Returns "/" - it returns relative url
Url.Content("~") //Returns "/MyVirtualDir/" - only virtual directory path part
и все другие относительные пути возврата ToAbsolute.
Я изобрел следующее :
Request.Url.ToString().Substring(0, Request.Url.ToString().Length - Request.Url.PathAndQuery.Length + Url.Content("~").Length);
Похоже, это работает . Но здесь слишком много магии. Есть ли нормальный способполучить такой путь ?