Часто при разработке веб-приложений нам требуется определить физический путь корневого каталога или путь до файла. В этом нам поможет метод Server.MapPath.
Server.MapPath вернёт нам физический путь каталога по относительному или виртуальному пути.
Часто используемые выражения:
Server.MapPath (".") - возвращает текущий физический каталог для файла, который выполняется (например ASPX)
Server.MapPath ("..") - возвращается физический путь родительского каталога
Server.MapPath ("~") - возвращает физический путь к корневому каталогу приложения
Server.MapPath ("/") - возвращает физический путь к корню домена (этот путь не всегда совпадает с корневым каталогом приложения)
Например:
Допустим, вы создали своё веб-приложение (http://www.example.com/) в каталоге
C: \ Inetpub \ wwwroot
и установили интернет-магазин (как виртуальный каталог в IIS) в
D: \ WebApps \ shop
Например, если вы вызываете Server.MapPath при следующем запросе:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
то:
Server.MapPath (".") - вернёт D: \ WebApps \ shop\ products
Server.MapPath ("..") - вернёт D: \ WebApps \ shop
Server.MapPath ("~") - вернёт D: \ WebApps \ shop
Server.MapPath ("/") - вернёт C: \ Inetpub \ wwwroot
Server.MapPath ("/ shop") - вернёт D: \ WebApps \ shop
Если путь начинается со слэша (/) или обратного слэша (\), то метод MapPath вернёт путь для полного виртуального пути.
Если путь не начинается со слэша, метод MapPath вернёт путь относительно директории запроса.
Для получения MapPath в code-behind файле можно использовать HttpContext.Current.Server.MapPath.
Server.MapPath вернёт нам физический путь каталога по относительному или виртуальному пути.
Часто используемые выражения:
Server.MapPath (".") - возвращает текущий физический каталог для файла, который выполняется (например ASPX)
Server.MapPath ("..") - возвращается физический путь родительского каталога
Server.MapPath ("~") - возвращает физический путь к корневому каталогу приложения
Server.MapPath ("/") - возвращает физический путь к корню домена (этот путь не всегда совпадает с корневым каталогом приложения)
Например:
Допустим, вы создали своё веб-приложение (http://www.example.com/) в каталоге
C: \ Inetpub \ wwwroot
и установили интернет-магазин (как виртуальный каталог в IIS) в
D: \ WebApps \ shop
Например, если вы вызываете Server.MapPath при следующем запросе:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
то:
Server.MapPath (".") - вернёт D: \ WebApps \ shop\ products
Server.MapPath ("..") - вернёт D: \ WebApps \ shop
Server.MapPath ("~") - вернёт D: \ WebApps \ shop
Server.MapPath ("/") - вернёт C: \ Inetpub \ wwwroot
Server.MapPath ("/ shop") - вернёт D: \ WebApps \ shop
Если путь начинается со слэша (/) или обратного слэша (\), то метод MapPath вернёт путь для полного виртуального пути.
Если путь не начинается со слэша, метод MapPath вернёт путь относительно директории запроса.
Для получения MapPath в code-behind файле можно использовать HttpContext.Current.Server.MapPath.
Комментариев нет:
Отправить комментарий