IInputChannel Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |