Я использую Request.ApplicationPath, чтобы узнать имя виртуального каталога, в котором я запущен. Есть ли более надежный способ?
Получить имя виртуального каталога?
Ответ 1
Request.ApplicationPath
- совершенно надежный способ получения виртуального каталога и всегда работает, когда у вас есть HttpContext, и может запрашивать данные Запроса.
Для дальнейшей обработки и извлечения частей пути ознакомьтесь с классом VirtualPathUtility.
Ответ 2
Вам нужно использовать Request.ApplicationPath. Для этого он предназначен.
Редактирование, чтобы перейти с вашим комментарием.
Поскольку вам нужен "чистый" способ обработки косой черты, я рекомендую создать функцию утилиты, которая возвращает путь приложения с логикой в нем, чтобы иметь дело с косой чертой, как вы сочтете нужным.
Ответ 3
Используйте эту функцию в C#
:
public static String GetHost()
{
var request = HttpContext.Current.Request;
return request.Url.Scheme + "://" + request.ServerVariables["HTTP_HOST"] + request.ApplicationPath;
}