RequestContext Класс

Определение

Предоставляет ответ, связанный с входящим запросом.Provides a reply that is correlated to an incoming request.

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

Комментарии

Контекст запроса возвращается из объекта IReplyChannel.You get a request context from an IReplyChannel. Каждый объект RequestContext инкапсулирует сведения, необходимые для ответа на запрос, чтобы не приходилось блокировать канал, ожидая ответы на все сообщения с запросами.Each RequestContext encapsulates the information required to reply to the request, so that you do not have to block on the channel when waiting for each request message to receive a reply.

В модели "запрос-ответ" RequestContext объект является ссылкой между запросом, который входит в состав, и ответом, который выходит из него. Когда сервер получает запрос, он предоставляет RequestContext экземпляр, представляющий запрос к каналу.In the request/reply model, the RequestContext object is the link between the request that comes in and the reply that goes out. When the server receives a request, it provides a RequestContext instance that represents the request to the channel. Контекст запроса содержит, помимо других полезных свойств, первоначальное сообщение с запросом.The request context contains the original request message among other useful properties. Этот контекст запроса затем помещается в объект OperationContext, который получает служба.This request context is then stashed inside the OperationContext for retrieval by your service. Для доступа к запросу текущей операции обычно используется свойство Current.You typically use the Current property to access the request of the current operation.

RequestContext может иметь значение null.The value of the RequestContext can be null. Так как задача контекста запроса — связывать запросы с ответами, нет смысла получать контекст запроса в отсутствие ответа, поэтому в этом случае контексту присваивается значение null.Because the role of the request context is to link requests to replies, it does not make sense to have a request context when you do not have a reply, and so in this case the context is set to null. При односторонних операциях в модели запрос-ответ сервер получает запросы, но не отправляет клиенту ответ.For a one-way operation on top of the request/reply model, the server receives requests but does not send back a response to the client. Поэтому если объект RequestContext неожиданно приобрел значение null, сначала нужно проверить, не задан ли для операции контракт IsOneWay.So if the RequestContext is null unexpectedly, check first whether the operation contract is IsOneWay.

Особое примечание для пользователей управляемого кода C++, создающих классы, унаследованные от данного.Special note for Managed C++ users deriving from this class:

  • Поместите код очистки в блок (On)(Begin)Close (или OnAbort), а не в деструктор.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Избегайте использования деструкторов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.Avoid destructors: they cause the compiler to auto-generate IDisposable.

  • Избегайте использования нессылочных членов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable.

  • Избегайте использования методов завершения. При включении этого метода необходимо подавить предупреждение построения и вызвать SuppressFinalize(Object) и сам метод завершения из блока (On)(Begin)Close (или OnAbort) для эмуляции автоматического поведения IDisposable.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

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

RequestContext()

Инициализирует новый экземпляр класса RequestContext.Initializes a new instance of the RequestContext class.

Свойства

RequestMessage

При переопределении в производном классе возвращает сообщение, содержащее запрос.When overridden in a derived class, gets the message that contains the request.

Методы

Abort()

При переопределении в производном классе отменяет обработку запроса, связанного с контекстом.When overridden in a derived class, aborts processing the request associated with the context.

BeginReply(Message, AsyncCallback, Object)

При переопределении в производном классе начинает асинхронную операцию ответа на запрос, связанный с текущим контекстом.When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context.

BeginReply(Message, TimeSpan, AsyncCallback, Object)

При переопределении в производном классе начинает асинхронную операцию ответа на запрос, связанный с текущим контекстом, в течение определенного периода времени.When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context within a specified interval of time.

Close()

При переопределении в производном классе прекращает операцию ответа на контекст запроса, связанный с текущим контекстом.When overridden in a derived class, closes the operation that is replying to the request context associated with the current context.

Close(TimeSpan)

При переопределении в производном классе прекращает операцию ответа на контекст запроса, связанный с текущим контекстом в течение определенного периода времени.When overridden in a derived class, closes the operation that is replying to the request context associated with the current context within a specified interval of time.

Dispose(Boolean)

Освобождает ресурсы, связанные с контекстом.Releases resources associated with the context.

EndReply(IAsyncResult)

При переопределении в производном классе завершает асинхронную операцию ответа на сообщение запроса.When overridden in a derived class, completes an asynchronous operation to reply to a request message.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

При переопределении в производном классе отвечает на сообщение запроса.When overridden in a derived class, replies to a request message.

Reply(Message, TimeSpan)

При переопределении в производном классе отвечает на сообщение запроса в течение заданного промежутка времени.When overridden in a derived class, replies to a request message within a specified interval of time.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

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

IDisposable.Dispose()

Освобождает управляемые и неуправляемые ресурсы, связанные с контекстом.Releases both managed and unmanaged resources associated with the context.

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