IInputChannel Interfejs

Definicja

Definiuje interfejs, który kanał musi zaimplementować w celu odbierania komunikatu.

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
Pochodne
Implementuje

Uwagi

Ważne

Wywoływanie metod z klas implementujących ten interfejs z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Wywołaj metody z klas, które implementują ten interfejs tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs (Weryfikowanie wszystkich danych wejściowych).

Kontrakt IInputChannel obejmuje synchroniczne i asynchroniczne warianty odbierania, try-to-receive i wait-for-a-message.

Model ściągania jest zwykle używany z elementem IInputChannel do odbierania komunikatów: wywołujesz połączenie Receive (w celu "ściągnięcia" komunikatu z kanału), a następnie zaczekaj na odebranie komunikatu. Alternatywnym wzorcem użycia jest wywołanie BeginWaitForMessage(TimeSpan, AsyncCallback, Object) metody lub BeginWaitForMessage(TimeSpan, AsyncCallback, Object), a następnie wywołanie metody Receive(TimeSpan). Takie podejście jest typowe w przypadku użycia transakcyjnego, w których transakcja jest uruchamiana między wywołaniami do WaitForMessage(TimeSpan) i Receive.

Element IInputChannel nie musi być powiązany z pojedynczym nadawcą. Inne kanały i interfejsy kanałów mogą zapewnić korelację między określonymi nadawcami a elementem IInputChannel, ale umowa podstawowa nie powoduje takiego ograniczenia. Implementacja może utworzyć nowe IInputChannel dla każdego komunikatu lub użyć go IInputChannel ponownie dla wielu komunikatów i nadawców.

Właściwości

LocalAddress

Pobiera adres, na którym kanał wejściowy odbiera komunikaty.

State

Pobiera bieżący stan obiektu zorientowanego na komunikację.

(Odziedziczone po ICommunicationObject)

Metody

Abort()

Powoduje natychmiastowe przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po ICommunicationObject)
BeginClose(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po ICommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji z określonym limitem czasu.

(Odziedziczone po ICommunicationObject)
BeginOpen(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po ICommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji w określonym przedziale czasu.

(Odziedziczone po ICommunicationObject)
BeginReceive(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu odebrania komunikatu, który ma skojarzony obiekt stanu.

BeginReceive(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu otrzymania komunikatu o określonym limicie czasu i skojarzonym z nim obiekcie stanu.

BeginTryReceive(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu otrzymania komunikatu o określonym limicie czasu i skojarzonym z nim obiekcie stanu.

BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację wait-for-a-message-to-arrive, która ma określony limit czasu i skojarzony z nim obiekt stanu.

Close()

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po ICommunicationObject)
Close(TimeSpan)

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po ICommunicationObject)
EndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po ICommunicationObject)
EndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po ICommunicationObject)
EndReceive(IAsyncResult)

Kończy operację asynchroniczną w celu odebrania komunikatu.

EndTryReceive(IAsyncResult, Message)

Kończy określoną operację asynchroniczną w celu odebrania komunikatu.

EndWaitForMessage(IAsyncResult)

Kończy określoną asynchroniczną operację wait-for-a-message.

GetProperty<T>()

Zwraca żądany obiekt wpisany, jeśli istnieje, z odpowiedniej warstwy w stosie kanału.

(Odziedziczone po IChannel)
Open()

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego.

(Odziedziczone po ICommunicationObject)
Open(TimeSpan)

Powoduje przejście obiektu komunikacyjnego z utworzonego stanu do otwartego stanu w określonym przedziale czasu.

(Odziedziczone po ICommunicationObject)
Receive()

Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje domyślny interwał czasu.

Receive(TimeSpan)

Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje określony interwał czasu.

TryReceive(TimeSpan, Message)

Próbuje odebrać komunikat w określonym przedziale czasu.

WaitForMessage(TimeSpan)

Zwraca wartość wskazującą, czy komunikat dotarł w określonym przedziale czasu.

Zdarzenia

Closed

Występuje, gdy obiekt komunikacji kończy przejście ze stanu zamknięcia do stanu zamkniętego.

(Odziedziczone po ICommunicationObject)
Closing

Występuje, gdy obiekt komunikacji najpierw przechodzi w stan zamknięcia.

(Odziedziczone po ICommunicationObject)
Faulted

Występuje, gdy obiekt komunikacji najpierw przechodzi w stan błędu.

(Odziedziczone po ICommunicationObject)
Opened

Występuje, gdy obiekt komunikacji kończy przejście ze stanu otwarcia do stanu otwarcia.

(Odziedziczone po ICommunicationObject)
Opening

Występuje, gdy obiekt komunikacji najpierw przechodzi w stan otwarcia.

(Odziedziczone po ICommunicationObject)

Metody rozszerzania

CloseHelperAsync(ICommunicationObject, TimeSpan)

Definiuje interfejs, który kanał musi zaimplementować w celu odbierania komunikatu.

OpenHelperAsync(ICommunicationObject, TimeSpan)

Definiuje interfejs, który kanał musi zaimplementować w celu odbierania komunikatu.

Dotyczy