IInputChannel Gränssnitt

Definition

Definierar gränssnittet som en kanal måste implementera för att ta emot ett meddelande.

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
Härledda
Implementeringar

Kommentarer

Important

Att anropa metoder från klasser som implementerar det här gränssnittet med ej betrodda data är en säkerhetsrisk. Anropa metoderna från klasser som endast implementerar det här gränssnittet med betrodda data. För mer information, se Verifiera alla indata.

Kontraktet IInputChannel innehåller synkrona och asynkrona varianter av mottagning, försök att ta emot och vänta på ett meddelande.

Pull-modellen används vanligtvis med ett IInputChannel för att ta emot meddelanden: du anropar Receive (för att "hämta" ett meddelande från kanalen) och väntar sedan på att ett meddelande ska tas emot. Ett alternativt användningsmönster är att anropa BeginWaitForMessage(TimeSpan, AsyncCallback, Object) eller BeginWaitForMessage(TimeSpan, AsyncCallback, Object)och sedan anropa Receive(TimeSpan). Den här metoden är vanlig för transaktionsanvändningar där du startar transaktionen mellan anropen till WaitForMessage(TimeSpan) och Receive.

En IInputChannel är inte nödvändigtvis bunden till en enskild avsändare. Andra kanaler och kanalgränssnitt kan ge en korrelation mellan vissa avsändare och ett IInputChannel, men baskontraktet gör ingen sådan begränsning. En implementering kan skapa en ny IInputChannel för varje meddelande eller återanvända samma IInputChannel för flera meddelanden och avsändare.

Egenskaper

Name Description
LocalAddress

Hämtar adressen som indatakanalen tar emot meddelanden på.

State

Hämtar det aktuella tillståndet för det kommunikationsorienterade objektet.

(Ärvd från ICommunicationObject)

Metoder

Name Description
Abort()

Gör att ett kommunikationsobjekt omedelbart övergår från dess aktuella tillstånd till det stängda tillståndet.

(Ärvd från ICommunicationObject)
BeginClose(AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att stänga ett kommunikationsobjekt.

(Ärvd från ICommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att stänga ett kommunikationsobjekt med en angiven tidsgräns.

(Ärvd från ICommunicationObject)
BeginOpen(AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att öppna ett kommunikationsobjekt.

(Ärvd från ICommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att öppna ett kommunikationsobjekt inom ett angivet tidsintervall.

(Ärvd från ICommunicationObject)
BeginReceive(AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att ta emot ett meddelande som har ett tillståndsobjekt associerat med det.

BeginReceive(TimeSpan, AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att ta emot ett meddelande som har ett angivet timeout- och tillståndsobjekt som är associerat med det.

BeginTryReceive(TimeSpan, AsyncCallback, Object)

Påbörjar en asynkron åtgärd för att ta emot ett meddelande som har ett angivet timeout- och tillståndsobjekt som är associerat med det.

BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

Påbörjar en asynkron vänta-för-ett-meddelande-till-anländer-åtgärd som har ett angivet timeout- och tillståndsobjekt associerat med den.

Close()

Gör att ett kommunikationsobjekt övergår från dess aktuella tillstånd till det stängda tillståndet.

(Ärvd från ICommunicationObject)
Close(TimeSpan)

Gör att ett kommunikationsobjekt övergår från dess aktuella tillstånd till det stängda tillståndet.

(Ärvd från ICommunicationObject)
EndClose(IAsyncResult)

Slutför en asynkron åtgärd för att stänga ett kommunikationsobjekt.

(Ärvd från ICommunicationObject)
EndOpen(IAsyncResult)

Slutför en asynkron åtgärd för att öppna ett kommunikationsobjekt.

(Ärvd från ICommunicationObject)
EndReceive(IAsyncResult)

Slutför en asynkron åtgärd för att ta emot ett meddelande.

EndTryReceive(IAsyncResult, Message)

Slutför den angivna asynkrona åtgärden för att ta emot ett meddelande.

EndWaitForMessage(IAsyncResult)

Slutför den angivna asynkrona åtgärden wait-for-a-message.

GetProperty<T>()

Returnerar ett typat objekt som begärs, om det finns, från lämpligt lager i kanalstacken.

(Ärvd från IChannel)
Open()

Gör att ett kommunikationsobjekt övergår från det skapade tillståndet till det öppnade tillståndet.

(Ärvd från ICommunicationObject)
Open(TimeSpan)

Gör att ett kommunikationsobjekt övergår från det skapade tillståndet till det öppna tillståndet inom ett angivet tidsintervall.

(Ärvd från ICommunicationObject)
Receive()

Returnerar det mottagna meddelandet om ett är tillgängligt. Om ett meddelande inte är tillgängligt blockerar du ett standardintervall.

Receive(TimeSpan)

Returnerar det mottagna meddelandet om ett är tillgängligt. Om ett meddelande inte är tillgängligt blockerar du under ett angivet tidsintervall.

TryReceive(TimeSpan, Message)

Försöker ta emot ett meddelande inom ett angivet tidsintervall.

WaitForMessage(TimeSpan)

Returnerar ett värde som anger om ett meddelande har anlänt inom ett angivet tidsintervall.

Händelser

Name Description
Closed

Inträffar när kommunikationsobjektet slutför övergången från det avslutande tillståndet till det stängda tillståndet.

(Ärvd från ICommunicationObject)
Closing

Inträffar när kommunikationsobjektet först anger det avslutande tillståndet.

(Ärvd från ICommunicationObject)
Faulted

Inträffar när kommunikationsobjektet först anger det felaktiga tillståndet.

(Ärvd från ICommunicationObject)
Opened

Inträffar när kommunikationsobjektet slutför övergången från öppningstillståndet till det öppnade tillståndet.

(Ärvd från ICommunicationObject)
Opening

Inträffar när kommunikationsobjektet först anger öppningstillståndet.

(Ärvd från ICommunicationObject)

Gäller för