IInputChannel Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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) |