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. 따라서 예기치 않게 RequestContextnull인 경우 먼저 작업 계약이 IsOneWay인지 여부를 확인합니다.So if the RequestContext is null unexpectedly, check first whether the operation contract is IsOneWay.

이 클래스에서 파생된 Managed 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.

적용 대상