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 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 komunikatem IInputChannel do odbierania komunikatów: wywołujesz Receive (aby "ściągnąć" komunikat z kanału), a następnie poczekaj na nadejście 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 kontrakt podstawowy nie stanowi takiego ograniczenia. Implementacja może utworzyć nową dla IInputChannel każdego komunikatu lub użyć jej 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 z nim obiekt stanu.

BeginReceive(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu odebrania komunikatu, który ma określony limit czasu i skojarzony z nim obiekt stanu.

BeginTryReceive(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu odebrania komunikatu, który ma określony limit czasu i skojarzony z nim obiekt 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 komunikacji z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po ICommunicationObject)
Close(TimeSpan)

Powoduje przejście obiektu komunikacji 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)

Kończy operację asynchroniczną, aby otworzyć obiekt komunikacyjny.

(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 typu 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 komunikacji z utworzonego stanu do stanu otwartego 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ł do określonego interwału czasu.

Zdarzenia

Closed

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

(Odziedziczone po ICommunicationObject)
Closing

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

(Odziedziczone po ICommunicationObject)
Faulted

Występuje, gdy obiekt komunikacji po raz pierwszy wchodzi w stan błędu.

(Odziedziczone po ICommunicationObject)
Opened

Występuje, gdy obiekt komunikacji zakończy przejście ze stanu otwierania do otwartego stanu.

(Odziedziczone po ICommunicationObject)
Opening

Występuje, gdy obiekt komunikacji najpierw wchodzi 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