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


RequestContext Класс

Определение

Предоставляет ответ, связанный с входящим запросом.

public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
    interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
Наследование
RequestContext
Реализации

Комментарии

Вы получаете контекст запроса из объекта IReplyChannel. Каждая RequestContext из них инкапсулирует сведения, необходимые для ответа на запрос, чтобы вам не нужно было блокировать канал при ожидании каждого сообщения запроса на получение ответа.

В модели RequestContext запроса или ответа объект является связью между запросом, который поступает и ответом, который выходит. Когда сервер получает запрос, он предоставляет RequestContext экземпляр, представляющий запрос к каналу. Контекст запроса содержит исходное сообщение запроса среди других полезных свойств. Затем этот контекст запроса будет скрыт внутри OperationContext запроса для получения службой. Обычно свойство используется Current для доступа к запросу текущей операции.

Значение RequestContext может быть null. Так как роль контекста запроса заключается в связывании запросов с ответами, не имеет смысла иметь контекст запроса, если у вас нет ответа, и поэтому в этом случае контекст имеет значение null. Для односторонняя операция в верхней части модели запроса или ответа сервер получает запросы, но не отправляет ответ клиенту. Поэтому, если RequestContextnull неожиданно, сначала проверьте, является ли контракт операции IsOneWay.

Специальное примечание для пользователей Managed C++, производных от этого класса:

  • Поместите код очистки в (On)(Begin)Close (and/or OnAbort), а не в деструктор.
  • Избегайте деструкторов: они вызывают автоматическое создание IDisposableкомпилятором.
  • Избегайте элементов без ссылок: они могут привести к автоматическому созданию IDisposableкомпилятора.
  • Избегайте завершения; но если включить его, следует отключить предупреждение и вызов SuppressFinalize(Object) сборки и вызвать и завершить работу из (On)(Begin)Close (and/or OnAbort), чтобы эмулировать то, что было бы автоматически создано IDisposable .

Конструкторы

Имя Описание
RequestContext()

Инициализирует новый экземпляр класса RequestContext.

Свойства

Имя Описание
RequestMessage

При переопределении в производном классе получает сообщение, содержащее запрос.

Методы

Имя Описание
Abort()

При переопределении в производном классе прервана обработка запроса, связанного с контекстом.

BeginReply(Message, AsyncCallback, Object)

При переопределении в производном классе начинает асинхронную операцию ответа на запрос, связанный с текущим контекстом.

BeginReply(Message, TimeSpan, AsyncCallback, Object)

При переопределении в производном классе начинает асинхронную операцию ответа на запрос, связанный с текущим контекстом в течение указанного интервала времени.

Close()

При переопределении в производном классе закрывает операцию, которая отвечает на контекст запроса, связанный с текущим контекстом.

Close(TimeSpan)

При переопределении в производном классе закрывает операцию, которая отвечает на контекст запроса, связанный с текущим контекстом в течение указанного интервала времени.

Dispose(Boolean)

Освобождает ресурсы, связанные с контекстом.

EndReply(IAsyncResult)

При переопределении в производном классе завершает асинхронную операцию ответа на сообщение запроса.

Equals(Object)

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

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Reply(Message, TimeSpan)

При переопределении в производном классе отвечает на сообщение запроса в течение указанного интервала времени.

Reply(Message)

При переопределении в производном классе отвечает на сообщение запроса.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IDisposable.Dispose()

Освобождает управляемые и неуправляемые ресурсы, связанные с контекстом.

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