RequestContext RequestContext RequestContext RequestContext Class

定義

受信要求に関連付けられた応答を提供します。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
継承
RequestContextRequestContextRequestContextRequestContext
実装

注釈

要求コンテキストは 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() RequestContext() RequestContext()

RequestContext クラスの新しいインスタンスを初期化します。Initializes a new instance of the RequestContext class.

プロパティ

RequestMessage RequestMessage RequestMessage RequestMessage

派生クラスでオーバーライドされると、要求を格納しているメッセージを取得します。When overridden in a derived class, gets the message that contains the request.

メソッド

Abort() Abort() Abort() Abort()

派生クラスでオーバーライドされると、コンテキストに関連付けられている要求の処理を中止します。When overridden in a derived class, aborts processing the request associated with the context.

BeginReply(Message, AsyncCallback, Object) BeginReply(Message, AsyncCallback, Object) BeginReply(Message, AsyncCallback, Object) 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) BeginReply(Message, TimeSpan, AsyncCallback, Object) BeginReply(Message, TimeSpan, AsyncCallback, Object) 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() Close() Close() Close()

派生クラスでオーバーライドされると、現在のコンテキストに関連付けられている要求コンテキストに応答している操作を閉じます。When overridden in a derived class, closes the operation that is replying to the request context associated with the current context.

Close(TimeSpan) Close(TimeSpan) Close(TimeSpan) 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) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

コンテキストに関連付けられたリソースを解放します。Releases resources associated with the context.

EndReply(IAsyncResult) EndReply(IAsyncResult) EndReply(IAsyncResult) EndReply(IAsyncResult)

派生クラスでオーバーライドされると、要求メッセージに応答する非同期操作を完了します。When overridden in a derived class, completes an asynchronous operation to reply to a request message.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Reply(Message) Reply(Message) Reply(Message) Reply(Message)

派生クラスでオーバーライドされると、要求メッセージに応答します。When overridden in a derived class, replies to a request message.

Reply(Message, TimeSpan) Reply(Message, TimeSpan) Reply(Message, TimeSpan) Reply(Message, TimeSpan)

派生クラスでオーバーライドされると、指定した時間内に要求メッセージに応答します。When overridden in a derived class, replies to a request message within a specified interval of time.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

コンテキストに関連付けられているマネージド リソースとアンマネージド リソースの両方を解放します。Releases both managed and unmanaged resources associated with the context.

適用対象