HttpContext Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инкапсулирует все сведения о отдельном HTTP-запросе.
public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
- Наследование
-
HttpContext
- Реализации
Примеры
В следующем примере показано, как получить доступ к свойствам объекта и отобразить их HttpContext . Доступ к контексту текущего Page HTTP-запроса осуществляется с помощью Context свойства объекта.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
// The HttpContext associated with the page can be accessed by the Context property.
System.Text.StringBuilder sb = new System.Text.StringBuilder();
// Use the current HttpContext object to determine if custom errors are enabled.
sb.Append("Is custom errors enabled: " +
Context.IsCustomErrorEnabled.ToString() + "<br/>");
// Use the current HttpContext object to determine if debugging is enabled.
sb.Append("Is debugging enabled: " +
Context.IsDebuggingEnabled.ToString() + "<br/>");
// Use the current HttpContext object to access the current TraceContext object.
sb.Append("Trace Enabled: " +
Context.Trace.IsEnabled.ToString() + "<br/>");
// Use the current HttpContext object to access the current HttpApplicationState object.
sb.Append("Number of items in Application state: " +
Context.Application.Count.ToString() + "<br/>");
// Use the current HttpContext object to access the current HttpSessionState object.
// Session state may not be configured.
try
{
sb.Append("Number of items in Session state: " +
Context.Session.Count.ToString() + "<br/>");
}
catch
{
sb.Append("Session state not enabled. <br/>");
}
// Use the current HttpContext object to access the current Cache object.
sb.Append("Number of items in the cache: " +
Context.Cache.Count.ToString() + "<br/>");
// Use the current HttpContext object to determine the timestamp for the current HTTP Request.
sb.Append("Timestamp for the HTTP request: " +
Context.Timestamp.ToString() + "<br/>");
// Assign StringBuilder object to output label.
OutputLabel.Text = sb.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpContext Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Using the current HttpContext to get information about the current page.
<br />
<asp:Label id="OutputLabel" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' The HttpContext associated with the page can be accessed by the Context property.
Dim sb As New System.Text.StringBuilder()
' Use the current HttpContext object to determine if custom errors are enabled.
sb.Append("Is custom errors enabled: " & _
Context.IsCustomErrorEnabled.ToString() & "<br/>")
' Use the current HttpContext object to determine if debugging is enabled.
sb.Append("Is debugging enabled: " & _
Context.IsDebuggingEnabled.ToString() & "<br/>")
' Use the current HttpContext object to access the current TraceContext object.
sb.Append("Trace Enabled: " & _
Context.Trace.IsEnabled.ToString() & "<br/>")
' Use the current HttpContext object to access the current HttpApplicationState object.
sb.Append("Number of items in Application state: " & _
Context.Application.Count.ToString() & "<br/>")
' Use the current HttpContext object to access the current HttpSessionState object.
' Session state may not be configured.
Try
sb.Append("Number of items in Session state: " & _
Context.Session.Count.ToString() & "<br/>")
Catch ex As Exception
sb.Append("Session state not enabled. <br/>")
End Try
' Use the current HttpContext object to access the current Cache object.
sb.Append("Number of items in the cache: " & _
Context.Cache.Count.ToString() & "<br/>")
' Use the current HttpContext object to determine the timestamp for the current HTTP Request.
sb.Append("Timestamp for the HTTP request: " & _
Context.Timestamp.ToString() & "<br/>")
' Assign StringBuilder object to output label.
OutputLabel.Text = sb.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpContext Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Using the current HttpContext to get information about the current page.
<br />
<asp:Label id="OutputLabel" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Комментарии
Классы, наследующие IHttpModule и IHttpHandler интерфейсы, предоставляют ссылку на HttpContext объект для текущего HTTP-запроса. Объект предоставляет доступ к встроенным Requestи ResponseServer свойствам запроса.
Это важно
Этот объект готов к сборке мусора после HttpRequest завершения. Его использование после завершения запроса может привести к неопределенному поведению, например NullReferenceException.
Этот объект доступен только в потоке, управляемом ASP.NET. Использование в фоновых потоках может привести к неопределенному поведению.
Конструкторы
| Имя | Описание |
|---|---|
| HttpContext(HttpRequest, HttpResponse) |
Инициализирует новый экземпляр класса с помощью указанных HttpContext объектов запроса и ответа. |
| HttpContext(HttpWorkerRequest) |
Инициализирует новый экземпляр HttpContext класса, использующего указанный объект рабочего запроса. |
Свойства
| Имя | Описание |
|---|---|
| AllErrors |
Возвращает массив ошибок, накопленных при обработке HTTP-запроса. |
| AllowAsyncDuringSyncStages |
Возвращает или задает значение, указывающее, разрешены ли асинхронные операции во время обработки запросов ASP.NET, когда они не ожидались. |
| Application |
HttpApplicationState Возвращает объект для текущего HTTP-запроса. |
| ApplicationInstance |
Возвращает или задает HttpApplication объект для текущего HTTP-запроса. |
| AsyncPreloadMode |
Возвращает или задает объект, содержащий флаги, относящиеся к асинхронной предварительной загрузке. |
| Cache |
Cache Возвращает объект для текущего домена приложения. |
| Current |
Возвращает или задает HttpContext объект для текущего HTTP-запроса. |
| CurrentHandler |
IHttpHandler Возвращает объект, представляющий выполняющийся в данный момент обработчик. |
| CurrentNotification |
Возвращает значение, указывающее текущее RequestNotificationHttpApplication событие, которое обрабатывается. |
| Error |
Возвращает первую ошибку (при наличии), накапливаемую во время обработки HTTP-запроса. |
| Handler |
Возвращает или задает объект, ответственный IHttpHandler за обработку HTTP-запроса. |
| IsCustomErrorEnabled |
Возвращает значение, указывающее, включены ли пользовательские ошибки для текущего HTTP-запроса. |
| IsDebuggingEnabled |
Возвращает значение, указывающее, находится ли текущий HTTP-запрос в режиме отладки. |
| IsPostNotification |
Возвращает значение, которое является текущей точкой обработки в конвейере ASP.NET сразу после HttpApplication завершения обработки события. |
| IsWebSocketRequest |
Возвращает значение, указывающее, является ли запрос запросом AspNetWebSocket . |
| IsWebSocketRequestUpgrading |
Возвращает значение, указывающее, обновляется ли подключение с HTTP-подключения к соединению AspNetWebSocket . |
| Items |
Возвращает коллекцию ключей и значений, которую можно использовать для упорядочивания и совместного IHttpModule использования данных между интерфейсом и IHttpHandler интерфейсом во время HTTP-запроса. |
| PageInstrumentation |
Возвращает ссылку на экземпляр службы инструментирования страниц для этого запроса. |
| PreviousHandler |
IHttpHandler Возвращает объект родительского обработчика. |
| Profile |
ProfileBase Возвращает объект для текущего профиля пользователя. |
| Request |
HttpRequest Возвращает объект для текущего HTTP-запроса. |
| Response |
HttpResponse Возвращает объект для текущего HTTP-ответа. |
| Server |
Возвращает объект, предоставляющий методы, используемые в обработке HttpServerUtility веб-запросов. |
| Session |
HttpSessionState Возвращает объект для текущего HTTP-запроса. |
| SkipAuthorization |
Возвращает или задает значение, указывающее, должен ли UrlAuthorizationModule объект пропустить проверку авторизации для текущего запроса. |
| ThreadAbortOnTimeout |
Возвращает или задает значение, указывающее, должен ли среда выполнения ASP.NET вызывать Abort() поток, обслуживающий этот запрос при истечении времени ожидания запроса. |
| Timestamp |
Возвращает начальную метку времени текущего HTTP-запроса. |
| Trace |
TraceContext Возвращает объект для текущего HTTP-ответа. |
| User |
Возвращает или задает сведения о безопасности для текущего HTTP-запроса. |
| WebSocketNegotiatedProtocol |
Получает согласованный протокол, отправленный с сервера клиенту для AspNetWebSocket подключения. |
| WebSocketRequestedProtocols |
Возвращает упорядоченный список протоколов, запрошенных клиентом. |
Методы
| Имя | Описание |
|---|---|
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions) |
Принимает запрос с помощью указанной пользовательской AspNetWebSocket функции и объекта параметров. |
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>) |
Принимает запрос с помощью указанной пользовательской AspNetWebSocket функции. |
| AddError(Exception) |
Добавляет исключение в коллекцию исключений для текущего HTTP-запроса. |
| AddOnRequestCompleted(Action<HttpContext>) |
Вызывает виртуальное событие, возникающее при завершении HTTP-части запроса. |
| ClearError() |
Удаляет все ошибки для текущего HTTP-запроса. |
| DisposeOnPipelineCompleted(IDisposable) |
Позволяет вызывать метод объекта Dispose() при AspNetWebSocket завершении соединения этой части запроса. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetAppConfig(String) |
Устаревшие..
Возвращает запрошенные сведения о конфигурации для текущего приложения. |
| GetConfig(String) |
Устаревшие..
Возвращает запрошенные сведения о конфигурации для текущего HTTP-запроса. |
| GetGlobalResourceObject(String, String, CultureInfo) |
Возвращает объект ресурса уровня приложения на основе указанных ClassKey и ResourceKey свойств, а также CultureInfo объекта. |
| GetGlobalResourceObject(String, String) |
Возвращает объект ресурса уровня приложения на основе указанных ClassKey и ResourceKey свойств. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLocalResourceObject(String, String, CultureInfo) |
Возвращает объект ресурса уровня страницы на основе указанных VirtualPath и ResourceKey свойств, а также CultureInfo объекта. |
| GetLocalResourceObject(String, String) |
Возвращает объект ресурса уровня страницы на основе указанных VirtualPath и ResourceKey свойств. |
| GetSection(String) |
Возвращает указанный раздел конфигурации для конфигурации текущего приложения по умолчанию. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| RemapHandler(IHttpHandler) |
Позволяет указать обработчик запроса. |
| RewritePath(String, Boolean) |
Перезаписывает URL-адрес с помощью заданного пути и логическое значение, указывающее, изменяется ли виртуальный путь для ресурсов сервера. |
| RewritePath(String, String, String, Boolean) |
Перезаписывает URL-адрес, используя заданный виртуальный путь, сведения о пути, сведения о строке запроса и логическое значение, указывающее, задан ли путь к файлу клиента путь перезаписи. |
| RewritePath(String, String, String) |
Перезаписывает URL-адрес с помощью заданного пути, сведений о пути и строковых данных запроса. |
| RewritePath(String) |
Перезаписывает URL-адрес с помощью заданного пути. |
| SetSessionStateBehavior(SessionStateBehavior) |
Задает тип поведения состояния сеанса, необходимого для поддержки HTTP-запроса. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IServiceProvider.GetService(Type) |
Возвращает объект для текущего типа службы. |