Физический путь сайта на диске сервера: HttpRuntime.AppDomainAppPath.
Путь к виртуальной программе: HttpRuntime.AppDomainAppVirtualPath
Любые методы, связанные с Request/HttpContext.Current и т. д., можно использовать только при наличии контекста или страницы запроса. То есть, когда контекст запроса отсутствует, HttpContext.Current имеет значение null. Упомянутые выше методы всегда доступны.
То же самое справедливо и для доступа к глобальным объектам кэша.
=============================================== ===============================
Пример: вывод пути к веб-сайту asp.net.
частный недействительный ответHtml()
...{
System.Text.StringBuilder sb = новый System.Text.StringBuilder();
sb.Append(string.Format("Текущее время: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
sb.Append("<br />");
sb.Append(string.Format("Виртуальный путь текущего запроса: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.Append("<br />");
sb.Append(string.Format("Получить путь к корневому каталогу текущего приложения: {0}", Server.HtmlEncode(Request.ApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("Виртуальный путь текущего запроса: {0}",Server.HtmlEncode(Request.FilePath)));
sb.Append("<br />");
sb.Append(string.Format("Виртуальный путь текущего запроса: {0}",Server.HtmlEncode(Request.Path)));
sb.Append("<br />");
sb.Append(string.Format("Получить физический путь к файловой системе корневого каталога текущего приложения: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("Получите путь к физической файловой системе, соответствующий запрошенному URL: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
Response.Write(sb.ToString());
}
}
Вывод: Текущее время: 2007-08-30 11:03:49
Виртуальный путь текущего запроса: /aDirectory/Sample/responseHtml.aspx.
Получите путь к корневому каталогу текущего приложения: /aDirectory.
Виртуальный путь текущего запроса: /aDirectory/Sample/responseHtml.aspx.
Виртуальный путь текущего запроса: /aDirectory/Sample/responseHtml.aspx.
Получите физический путь файловой системы корневого каталога текущего приложения: E:Visual Studio 2005.
Получите путь к физической файловой системе, соответствующий запрошенному URL-адресу: E:Visual Studio 2005\aDirectory.
В программировании ASP.NET часто необходимо использовать Request для получения информации об URL-адресе.
URL-адрес теста — http://www.test.com/testweb/default.aspx , и результаты следующие:
Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
Request.Path: /testweb/default.aspx
Запрос.ПатИнфо:
Request.PhysicalApplicationPath: E:WWWtestweb
Request.PhysicalPath: E:WWWtestwebdefault.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx.
Request.Url.Host: www.test.com
Request.Url.LocalPath: /testweb/default.aspx
Вы можете использовать это, когда в URL-адресе есть параметры:
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
Адрес этой страницы: Request.URL;
Адрес предыдущей страницы:
Request.UrlReferrer
Request.ServerViables["http_referer"]
Request.RawUrl
Request.RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
Тип HttpRequest предоставляет следующие члены.
Описание имени конструктора
Инфраструктура HttpRequest. Инициализируйте объект HttpRequest.
Описание имени верхнего метода
BinaryRead Выполняет двоичное чтение указанного количества байтов из текущего входного потока.
Равно определяет, равен ли указанный Объект текущему Объекту. (Унаследовано от Object.)
Finalize позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки до того, как сборщик мусора восстановит объект. (Унаследовано от Object.)
GetHashCode используется как хеш-функция для определенного типа. (Унаследовано от Object.)
GetType Получает тип текущего экземпляра. (Унаследовано от Object.)
MapImageCoordinates сопоставляет параметры формы поля входящего изображения с соответствующими значениями координат x и y.
MapPath был перезагружен. Сопоставляет виртуальный путь в запрошенном URL-адресе с физическим путем на сервере для текущего запроса.
MemberwiseClone создает неглубокую копию текущего объекта. (Унаследовано от Object.)
SaveAs Сохраняет HTTP-запрос на диск.
ToString возвращает строку, представляющую текущий объект. (Унаследовано от Object.)
ValidateInput проверяет коллекции, доступ к которым осуществляется через свойства Cookies, Form и QueryString.
Описание имени верхнего атрибута
AcceptTypes Получает массив строк допустимых типов MIME, поддерживаемых клиентом.
AnonymousID Получает анонимный идентификатор этого пользователя, если таковой существует.
ApplicationPath Получает корневой путь виртуального приложения ASP.NET на сервере.
AppRelativeCurrentExecutionFilePath Получает виртуальный путь к корню приложения и делает его относительным, используя обозначение тильды (~) для корня приложения (например, в форме «~/page.aspx»).
Браузер Получает или задает информацию о возможностях браузера запрашивающего клиента.
ClientCertificate Получает сертификат безопасности клиента для текущего запроса.
ContentEncoding Получает или задает набор символов тела объекта.
ContentLength указывает длину содержимого, отправленного клиентом, в байтах.
ContentType Получает или задает тип содержимого MIME входящего запроса.
Cookies Получает коллекцию файлов cookie, отправленных клиентом.
CurrentExecutionFilePath Получает виртуальный путь текущего запроса.
FilePath Получает виртуальный путь текущего запроса.
Files Получает коллекцию файлов, загруженных клиентом в составном формате MIME.
Filter Получает или задает фильтр, который будет использоваться при чтении текущего входного потока.
Form Получает коллекцию переменных формы.
Заголовки Получает коллекцию заголовков HTTP.
HttpMethod Получает метод передачи данных HTTP, используемый клиентом (например, GET, POST или HEAD).
InputStream Получает содержимое тела входящего объекта HTTP.
IsAuthenticated Получает значение, указывающее, прошел ли запрос проверку подлинности.
IsLocal Получает значение, указывающее, пришел ли запрос с локального компьютера.
IsSecureConnection Получает значение, указывающее, использует ли HTTP-соединение безопасные сокеты (то есть HTTPS).
Item Получает указанный объект из коллекции Cookies, Form, QueryString или ServerVariables.
LogonUserIdentity Получает тип WindowsIdentity текущего пользователя.
Params Получает объединенную коллекцию элементов QueryString, Form, ServerVariables и Cookies.
Path получает виртуальный путь текущего запроса.
PathInfo Получает дополнительную информацию о пути к ресурсу с расширением URL-адреса.
PhysicalApplicationPath Получает путь физической файловой системы к корневому каталогу выполняющегося в данный момент серверного приложения.
PhysicalPath Получает путь к физической файловой системе, соответствующий запрошенному URL-адресу.
QueryString Получает коллекцию строковых переменных HTTP-запроса.
RawUrl Получает исходный URL-адрес текущего запроса.
RequestType Получает или задает метод передачи данных HTTP (GET или POST), используемый клиентом.
ServerVariables Получает коллекцию переменных веб-сервера.
TotalBytes Получает количество байтов в текущем входном потоке.
URL-адрес Получает информацию о запрошенном в данный момент URL-адресе.
UrlReferrer Получает информацию о последнем URL-адресе, запрошенном клиентом, который связан с текущим URL-адресом.
UserAgent Получает исходную информацию об агенте пользователя клиентского браузера.
UserHostAddress Получает IP-адрес хоста удаленного клиента.
UserHostName Получает DNS-имя удаленного клиента.
UserLanguages Получает отсортированный строковый массив языковых предпочтений клиента.
1.Request.ApplicationPath->Каталог текущего приложения. Автор не контактировал с jsp. Если вы контактировали с jsp, это будет совершенно ясно. application) — например, он есть на моем сервере. Оба доменных имени веб-приложения — MySite.com, одно соответствует каталогу MySite.com/1/, а другое — http://MySite.com/2/.
Тогда MySite.com/1/ — это ApplicationPath первого приложения. Аналогично, MySite.com/2/ — это ApplicationPath второго приложения.
2.Request.FilePath-> соответствует виртуальному каталогу iis, например URL http://MySite.com/1/index.html/pathinfo.
Путь к файлу = /1/index.html
3.Request.Path->Виртуальный путь текущего запроса
Путь — это объединение хвостов FilePath и PathInfo. Например, URL http://MySite.com/1/index.html/pathinfo.
Тогда Путь = /1/index.html/pathinfo
4.Request.MapPath(string url)->Сопоставьте URL-адрес с виртуальным каталогом в iis. Этот каталог относится к корневому каталогу приложения. Понятно, что по сравнению с Server.MapPath он не будет содержать такой путь. c:/ — относительный путь (сравниваемый Server.MapPath — абсолютный путь)
5.Server.MapPath(string url) -> Сопоставьте URL-адрес с физическим путем на сервере. Например, http://MySite.com/1/index.html , если ваше приложение находится в c:/iis/MySite. тогда это c :/iis/MySite/1/index.html
Requst.FilePath получает виртуальный путь текущего запроса. Свойство FilePath не содержит трейлер PathInfo. Например, для URL-адреса http://www.contoso.com/virdir/page.html/tail значение FilePath — /virdir/page.html.
=============================================== =============================================== ==========================
Request.Path получает виртуальный путь текущего запроса. Путь — это объединение хвостов FilePath и PathInfo. Например, для URL-адреса http://www.contoso.com/virdir/page.html/tail путь — /virdir/page.html/tail.
=============================================== =============================================== ==========================
Метод Request.MapPath сопоставляет указанный виртуальный путь с физическим путем.
В следующем примере кода метод MapPath используется для преобразования виртуального пути в полный физический путь на сервере. Этот пример состоит из двух частей:
Страница .aspx сопоставляет путь, считывает файл и отображает результаты операции чтения.
Класс UpperCaseFilterStream, который преобразует все передаваемые через него символы в верхний регистр.
В первой части примера показано, как использовать метод MapPath для преобразования виртуального пути в полный физический путь. Впоследствии этот физический путь передается объекту StreamReader, который содержит содержимое файла. Затем вызовите метод Write, чтобы отобразить содержимое файла на странице. Свойство Filter используется для прикрепления фильтра к потоку ответов, благодаря которому текст, отображаемый на странице, будет набран заглавными буквами.
-