Поделиться через


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)

Возвращает службу типа T из IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Возвращает перечисление служб типа serviceType из IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Возвращает перечисление служб типа T из IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Возвращает службу типа serviceType из IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Возвращает службу типа T из IServiceProvider.

CreateAsyncScope(IServiceProvider)

Создает интерфейс AsyncServiceScope, который может использоваться для разрешения служб с ограниченной областью.

CreateScope(IServiceProvider)

Создает интерфейс IServiceScope, который может использоваться для разрешения служб с ограниченной областью.

GetRequiredService(IServiceProvider, Type)

Возвращает службу типа serviceType из IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Возвращает службу типа T из IServiceProvider.

GetService<T>(IServiceProvider)

Возвращает службу типа T из IServiceProvider.

GetServices(IServiceProvider, Type)

Возвращает перечисление служб типа serviceType из IServiceProvider.

GetServices<T>(IServiceProvider)

Возвращает перечисление служб типа T из IServiceProvider.

GetFakeLogCollector(IServiceProvider)

Возвращает объект , который собирает записи журнала, отправляемые в поддельные средства ведения журнала.

GetFakeRedactionCollector(IServiceProvider)

Возвращает поддельный экземпляр сборщика редактора из контейнера внедрения зависимостей.

Применяется к

См. также раздел