HttpContext Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инкапсулирует все связанные с НТТР сведения об отдельном НТТР-запросе.
public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
- Наследование
-
HttpContext
- Реализации
Примеры
В следующем примере показано, как получить доступ к свойствам HttpContext объекта и отобразить его. Доступ к контексту текущего HTTP-запроса осуществляется с помощью Context свойства Page объекта .
<%@ 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свойствам , Responseи Server для запроса.
Важно!
Этот объект готов к сборке 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 |
Возвращает значение RequestNotification, указывающее на текущее обрабатываемое событие HttpApplication. |
Error |
Возвращает первую ошибку (при наличии таковой), возникшую в ходе обработки НТТР-запроса. |
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>) |
Принимает запрос AspNetWebSocket с помощью заданной пользовательской функции. |
AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions) |
Принимает запрос 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) |
Получает объект ресурса на уровне приложения на основе указанных свойств ClassKey и ResourceKey. |
GetGlobalResourceObject(String, String, CultureInfo) |
Возвращает объект ресурса на уровне приложения на основе заданных свойств ClassKey и ResourceKey и объекта CultureInfo. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLocalResourceObject(String, String) |
Получает объект ресурса на уровне страницы на основе заданных свойств VirtualPath и ResourceKey. |
GetLocalResourceObject(String, String, CultureInfo) |
Получает объект ресурса на уровне страницы на основе заданных свойств VirtualPath и ResourceKey и объекта CultureInfo. |
GetSection(String) |
Получает указанный раздел конфигурации для конфигурации текущего приложения, заданной по умолчанию. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RemapHandler(IHttpHandler) |
Позволяет указать обработчик запроса. |
RewritePath(String) |
Перезаписывает URL-адрес, используя заданный путь. |
RewritePath(String, Boolean) |
Перезаписывает URL-адрес, используя заданный путь и логическое значение, которое указывает, был ли изменен виртуальный путь к ресурсам сервера. |
RewritePath(String, String, String) |
Перезаписывает URL-адрес, используя заданный путь, сведения о пути и данные строки запроса. |
RewritePath(String, String, String, Boolean) |
Перезаписывает URL-адрес, используя заданный виртуальный путь, сведения о пути, данные строки запроса и логическое значение, которое указывает, был ли задан путь к файлу клиента как путь перезаписи. |
SetSessionStateBehavior(SessionStateBehavior) |
Задает тип поведения состояния сеанса, который необходим для поддержки HTTP-запроса. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IServiceProvider.GetService(Type) |
Возвращает объект текущего типа службы. |
Методы расширения
GetKeyedService<T>(IServiceProvider, Object) |
Возвращает службу типа |
GetKeyedServices(IServiceProvider, Type, Object) |
Возвращает перечисление служб типа |
GetKeyedServices<T>(IServiceProvider, Object) |
Возвращает перечисление служб типа |
GetRequiredKeyedService(IServiceProvider, Type, Object) |
Возвращает службу типа |
GetRequiredKeyedService<T>(IServiceProvider, Object) |
Возвращает службу типа |
CreateAsyncScope(IServiceProvider) |
Создает интерфейс AsyncServiceScope, который может использоваться для разрешения служб с ограниченной областью. |
CreateScope(IServiceProvider) |
Создает интерфейс IServiceScope, который может использоваться для разрешения служб с ограниченной областью. |
GetRequiredService(IServiceProvider, Type) |
Возвращает службу типа |
GetRequiredService<T>(IServiceProvider) |
Возвращает службу типа |
GetService<T>(IServiceProvider) |
Возвращает службу типа |
GetServices(IServiceProvider, Type) |
Возвращает перечисление служб типа |
GetServices<T>(IServiceProvider) |
Возвращает перечисление служб типа |
GetFakeLogCollector(IServiceProvider) |
Возвращает объект , который собирает записи журнала, отправляемые в поддельные средства ведения журнала. |
GetFakeRedactionCollector(IServiceProvider) |
Возвращает поддельный экземпляр сборщика редактора из контейнера внедрения зависимостей. |