Часть пути к доменному имени не является собственностью самого приложения, а зависит от запрашивающего URL. Вы можете получить доступ к одному веб-сайту с разных имен хостов. Чтобы получить имя домена, связанное с текущим запросом , вместе с виртуальным путем текущего приложения, вы можете сделать:
Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath
Технически, «приложение» - это виртуальный каталог, определенный в IIS, и Request.ApplicationPath
возвращает именно это. Если вы хотите получить папку, в которой обрабатывается текущий запрос , вы можете сделать это:
VirtualPathUtility.GetDirectory(Request.Path)
ASP.NET не имеет представления о том, как отличить ваше подприложение от более крупного приложения, если оно не определено как виртуальный каталог в IIS. Не регистрируясь в IIS, он видит все это как одно приложение.