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
. При односторонних операциях в модели запрос-ответ сервер получает запросы, но не отправляет клиенту ответ. Поэтому если объект RequestContext неожиданно приобрел значение null
, сначала нужно проверить, не задан ли для операции контракт IsOneWay.
Особое примечание для пользователей управляемого кода C++, создающих классы, унаследованные от данного.
Поместите код очистки в блок (On)(Begin)Close (или OnAbort), а не в деструктор.
Избегайте использования деструкторов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.
Избегайте использования нессылочных членов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.
Избегайте использования методов завершения. При включении этого метода необходимо подавить предупреждение построения и вызвать SuppressFinalize(Object) и сам метод завершения из блока (On)(Begin)Close (или 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) |
При переопределении в производном классе отвечает на сообщение запроса. |
Reply(Message, TimeSpan) |
При переопределении в производном классе отвечает на сообщение запроса в течение заданного промежутка времени. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IDisposable.Dispose() |
Освобождает управляемые и неуправляемые ресурсы, связанные с контекстом. |