IInputChannel 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메시지를 수신하기 위해 채널에서 구현해야 하는 인터페이스를 정의합니다.
public interface class IInputChannel : System::ServiceModel::Channels::IChannel
public interface IInputChannel : System.ServiceModel.Channels.IChannel
type IInputChannel = interface
interface IChannel
interface ICommunicationObject
Public Interface IInputChannel
Implements IChannel
- 파생
- 구현
설명
Important
신뢰할 수 없는 데이터로 이 인터페이스를 구현하는 클래스에서 메서드를 호출하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터로만 이 인터페이스를 구현하는 클래스에서 메서드를 호출합니다. 자세한 내용은 모든 입력 유효성 검사참조하세요.
계약에는 IInputChannel 수신, 수신 시도 및 메시지 대기 기능의 동기 및 비동기 변형이 포함됩니다.
끌어오기 모델은 일반적으로 IInputChannel 메시지를 수신하는 데 사용됩니다. 즉, 메시지를 채널에서 "끌어오기"로 호출 Receive 한 다음 메시지가 도착할 때까지 기다립니다. 대체 사용 패턴은 호출하거나 BeginWaitForMessage(TimeSpan, AsyncCallback, Object)호출 BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 한 다음 Receive(TimeSpan)호출하는 것입니다. 이 방법은 호출 WaitForMessage(TimeSpan) 간에 트랜잭션을 시작하는 트랜잭션 사용에서 일반적입니다 Receive.
반드시 IInputChannel 단일 보낸 사람에게 바인딩되는 것은 아닙니다. 다른 채널 및 채널 인터페이스는 특정 보낸 사람과 보낸 IInputChannel사람 사이의 상관 관계를 제공할 수 있지만 기본 계약은 이러한 제한을 하지 않습니다. 구현은 각 메시지에 대해 새 IInputChannel 메시지를 만들거나 여러 메시지 및 보낸 사람에게 동일하게 IInputChannel 다시 사용할 수 있습니다.
속성
| Name | Description |
|---|---|
| LocalAddress |
입력 채널이 메시지를 수신하는 주소를 가져옵니다. |
| State |
통신 지향 개체의 현재 상태를 가져옵니다. (다음에서 상속됨 ICommunicationObject) |
메서드
| Name | Description |
|---|---|
| Abort() |
통신 개체가 현재 상태에서 닫힌 상태로 즉시 전환되도록 합니다. (다음에서 상속됨 ICommunicationObject) |
| BeginClose(AsyncCallback, Object) |
통신 개체를 닫기 위한 비동기 작업을 시작합니다. (다음에서 상속됨 ICommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
지정된 시간 제한으로 통신 개체를 닫기 위한 비동기 작업을 시작합니다. (다음에서 상속됨 ICommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
통신 개체를 여는 비동기 작업을 시작합니다. (다음에서 상속됨 ICommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
지정된 시간 간격 내에 통신 개체를 여는 비동기 작업을 시작합니다. (다음에서 상속됨 ICommunicationObject) |
| BeginReceive(AsyncCallback, Object) |
연결된 상태 개체가 있는 메시지를 수신하는 비동기 작업을 시작합니다. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
지정된 시간 제한 및 상태 개체가 연결된 메시지를 수신하는 비동기 작업을 시작합니다. |
| BeginTryReceive(TimeSpan, AsyncCallback, Object) |
지정된 시간 제한 및 상태 개체가 연결된 메시지를 수신하는 비동기 작업을 시작합니다. |
| BeginWaitForMessage(TimeSpan, AsyncCallback, Object) |
지정된 시간 제한 및 상태 개체가 연결된 비동기 메시지 도착 대기 작업을 시작합니다. |
| Close() |
통신 개체가 현재 상태에서 닫힌 상태로 전환되도록 합니다. (다음에서 상속됨 ICommunicationObject) |
| Close(TimeSpan) |
통신 개체가 현재 상태에서 닫힌 상태로 전환되도록 합니다. (다음에서 상속됨 ICommunicationObject) |
| EndClose(IAsyncResult) |
비동기 작업을 완료하여 통신 개체를 닫습니다. (다음에서 상속됨 ICommunicationObject) |
| EndOpen(IAsyncResult) |
통신 개체를 여는 비동기 작업을 완료합니다. (다음에서 상속됨 ICommunicationObject) |
| EndReceive(IAsyncResult) |
메시지를 수신하는 비동기 작업을 완료합니다. |
| EndTryReceive(IAsyncResult, Message) |
지정된 비동기 작업을 완료하여 메시지를 받습니다. |
| EndWaitForMessage(IAsyncResult) |
지정된 비동기 메시지 대기 작업을 완료합니다. |
| GetProperty<T>() |
채널 스택의 적절한 계층에서 요청된 형식화된 개체(있는 경우)를 반환합니다. (다음에서 상속됨 IChannel) |
| Open() |
통신 개체가 생성된 상태에서 열린 상태로 전환되도록 합니다. (다음에서 상속됨 ICommunicationObject) |
| Open(TimeSpan) |
통신 개체가 지정된 시간 간격 내에 생성된 상태에서 열린 상태로 전환되도록 합니다. (다음에서 상속됨 ICommunicationObject) |
| Receive() |
받은 메시지를 반환합니다(사용할 수 있는 경우). 메시지를 사용할 수 없는 경우 기본 시간 간격을 차단합니다. |
| Receive(TimeSpan) |
받은 메시지를 반환합니다(사용할 수 있는 경우). 메시지를 사용할 수 없는 경우 지정된 시간 간격을 차단합니다. |
| TryReceive(TimeSpan, Message) |
지정된 시간 간격 내에 메시지를 수신하려고 시도합니다. |
| WaitForMessage(TimeSpan) |
지정된 시간 간격 내에 메시지가 도착했는지 여부를 나타내는 값을 반환합니다. |
이벤트
| Name | Description |
|---|---|
| Closed |
통신 개체가 닫는 상태에서 닫힌 상태로의 전환을 완료할 때 발생합니다. (다음에서 상속됨 ICommunicationObject) |
| Closing |
통신 개체가 처음 닫는 상태로 들어갈 때 발생합니다. (다음에서 상속됨 ICommunicationObject) |
| Faulted |
통신 개체가 오류 상태로 처음 들어갈 때 발생합니다. (다음에서 상속됨 ICommunicationObject) |
| Opened |
통신 개체가 여는 상태에서 열린 상태로의 전환을 완료할 때 발생합니다. (다음에서 상속됨 ICommunicationObject) |
| Opening |
통신 개체가 처음 여는 상태로 들어갈 때 발생합니다. (다음에서 상속됨 ICommunicationObject) |