Freigeben über


IInputChannel Schnittstelle

Definition

Definiert die Schnittstelle, die ein Kanal implementieren muss, um eine Nachricht zu empfangen.

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
Abgeleitet
Implementiert

Hinweise

Wichtig

Das Aufrufen von Methoden aus Klassen, die diese Schnittstelle mit nicht vertrauenswürdigen Daten implementieren, stellt ein Sicherheitsrisiko dar. Rufen Sie die Methoden aus Klassen auf, die diese Schnittstelle nur mit vertrauenswürdigen Daten implementieren. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Der IInputChannel-Vertrag enthält synchrone und asynchrone Varianten von Empfangs-, Empfangsversuchs- und Warten-auf-Nachricht-Funktionen.

Das Pullmodell wird üblicherweise mit IInputChannel verwendet, um Nachrichten zu empfangen: Sie rufen Receive auf (um eine Nachricht aus dem Kanal zu 'ziehen' (pull) und warten dann auf das Eingehen der Nachricht. Ein alternatives Verwendungsmuster ist der Aufruf von BeginWaitForMessage(TimeSpan, AsyncCallback, Object) oder BeginWaitForMessage(TimeSpan, AsyncCallback, Object) und dann Receive(TimeSpan). Dieser Ansatz ist für eine transaktionale Verwendung üblich, wobei die Transaktion zwischen den Aufrufen von WaitForMessage(TimeSpan) und Receive gestartet wird.

Ein IInputChannel ist nicht notwendigerweise an einen einzelnen Absender gebunden. Andere Kanäle und Kanalschnittstellen können eine Beziehung zwischen bestimmten Absendern und IInputChannel bieten, aber der Basisvertrag macht diese Einschränkung nicht. Eine Implementierung kann einen neuen IInputChannel für jede Nachricht erstellen oder denselben IInputChannel für mehrere Nachrichten und Absender wiederverwenden.

Eigenschaften

LocalAddress

Ruft die Adresse ab, auf der der Eingabekanal Nachrichten empfängt.

State

Ruft den aktuellen Zustand des kommunikationsorientierten Objekts ab.

(Geerbt von ICommunicationObject)

Methoden

Abort()

Bewirkt, dass ein Kommunikationsobjekt unmittelbar vom aktuellen Zustand in den geschlossenen Zustand übergeht.

(Geerbt von ICommunicationObject)
BeginClose(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.

(Geerbt von ICommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt mit einem festgelegten Timeout zu schließen.

(Geerbt von ICommunicationObject)
BeginOpen(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.

(Geerbt von ICommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines festgelegten Zeitraums zu öffnen.

(Geerbt von ICommunicationObject)
BeginReceive(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, die über ein ihm zugeordnetes Statusobjekt verfügt.

BeginReceive(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, eine Nachricht zu empfangen, die über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.

BeginTryReceive(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, eine Nachricht zu empfangen, die über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.

BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang für das Warten auf den Nachrichteneingang, der über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.

Close()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht.

(Geerbt von ICommunicationObject)
Close(TimeSpan)

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht.

(Geerbt von ICommunicationObject)
EndClose(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.

(Geerbt von ICommunicationObject)
EndOpen(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.

(Geerbt von ICommunicationObject)
EndReceive(IAsyncResult)

Schließt einen asynchronen Vorgang zum Empfang einer Nachricht ab.

EndTryReceive(IAsyncResult, Message)

Schließt den angegebenen asynchronen Vorgang ab, um eine Nachricht zu empfangen.

EndWaitForMessage(IAsyncResult)

Schließt den angegebenen asynchronen Vorgang des Wartens auf eine Nachricht ab.

GetProperty<T>()

Gibt ggf. ein angefordertes typisiertes Objekt von der entsprechenden Ebene im Kanalstapel zurück.

(Geerbt von IChannel)
Open()

Bewirkt den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand.

(Geerbt von ICommunicationObject)
Open(TimeSpan)

Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand.

(Geerbt von ICommunicationObject)
Receive()

Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer des Standardzeitintervalls.

Receive(TimeSpan)

Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer eines festgelegten Zeitintervalls.

TryReceive(TimeSpan, Message)

Versucht, eine Nachricht innerhalb eines angegebenen Zeitintervalls zu empfangen.

WaitForMessage(TimeSpan)

Gibt einen Wert zurück, der angibt, ob eine Nachricht innerhalb eines angegebenen Zeitintervalls angekommen ist.

Ereignisse

Closed

Tritt ein, sobald der Übergang des Kommunikationsobjekts vom Schließen-Zustand in den Geschlossen-Zustand abgeschlossen ist.

(Geerbt von ICommunicationObject)
Closing

Tritt ein, sobald das Kommunikationsobjekt den Schließzustand annimmt.

(Geerbt von ICommunicationObject)
Faulted

Tritt ein, sobald das Kommunikationsobjekt den Fehlerzustand annimmt.

(Geerbt von ICommunicationObject)
Opened

Tritt ein, sobald der Übergang des Kommunikationsobjekts vom Öffnungszustand in den Geöffnet-Zustand abgeschlossen ist.

(Geerbt von ICommunicationObject)
Opening

Tritt ein, sobald das Kommunikationsobjekt den Öffnungszustand annimmt.

(Geerbt von ICommunicationObject)

Gilt für: